{"version":3,"file":"bnsights-bbsf-admin-portal.mjs","sources":["../../../projects/bbsf-admin-portal/src/lib/_metronic/configs/default-layout.config.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/services/layout.service.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/services/layout-init.service.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/services/page-info.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/header/page-title/page-title.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/header/page-title/page-title.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/toolbar/toolbar.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/toolbar/toolbar.component.html","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/_TypesHelpers.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/DomHelpers.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/_DataUtil.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/EventHandlerUtil.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/_DOMEventHandlerUtil.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/_ElementStyleUtil.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/_utils/ElementAnimateUtil.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/MenuComponent.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/_DrawerComponent.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/_CookieComponent.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/_ScrollComponent.ts","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/_ToggleComponent.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/aside/aside.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/aside/aside.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/UserModels/IdentityModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/userService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/topbar/topbar.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/topbar/topbar.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/header/header.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/header/header.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/footer/footer.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/footer/footer.component.html","../../../projects/bbsf-admin-portal/src/lib/_metronic/core/components/_ScrollTopComponent.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/scripts-init/scripts-init.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/scripts-init/scripts-init.component.html","../../../projects/bbsf-admin-portal/src/lib/masterlayout.component.ts","../../../projects/bbsf-admin-portal/src/lib/masterlayout.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/core/authentication/auth.guard.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/core/authentication/admin.guard.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/home/filter-pipe.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/home/home.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/home/home.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/toolbar/toolbar.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/home/home.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/LocalizationModels/EditResourceModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/localizations.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/empty-data/empty-data.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/empty-data/empty-data.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/localizations/localizations.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/localizations/localizations.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/empty-data/empty-data.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/localizations/localizations.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/roles.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/roles.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/PermissionsModels/PermissionModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/constants.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/shared.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/stylesbundle.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/PermissionsService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permissions/permissions.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permissions/permissions.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/PermissionSetService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permissionsets/permissionsets.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permissionsets/permissionsets.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/core/auth.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permission-set-info/permission-set-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/permission-set-info/permission-set-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/roles-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/data.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/subheader/subheader.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/subheader/subheader.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/subheader/subheader.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/roles/roles.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/notifications.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/notifications.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/master-layouts/master-layouts.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/master-layouts/master-layouts.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/add-notification/add-notification.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/add-notification/add-notification.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-notification/edit-notification.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-notification/edit-notification.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/TemplateDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/TemplateService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/templates/templates.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/templates/templates.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/template-info/template-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/template-info/template-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-email/edit-email.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-email/edit-email.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-sms/edit-sms.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/edit-sms/edit-sms.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/notifications.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/notifications/notifications.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookups.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookups.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/Lookups/LookupModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/LookupService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup/lookup.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup/lookup.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/Lookups/LookupGroupModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/LookupGroupsService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup-group/lookup-group.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup-group/lookup-group.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/Lookups/LookupItem.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup-item/lookup-item.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookup-item/lookup-item.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookups-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/lookups/lookups.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/departments.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/departments.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DepartmentModels/DepartmentModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/DepartmentService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/department/department.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/department/department.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/department-info/department-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/department-info/department-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/departments-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/departments/departments.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SectorModels/SectorModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/SectorService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sector/sector.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sector/sector.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sector-info/sector-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sector-info/sector-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/sectors/sectors.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/ConfigurationsService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Enums/configuration/authentecation-configuration.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/auth-configuration/auth-configuration.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/auth-configuration/auth-configuration.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configuration/configuration.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configuration/configuration.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configurations.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configurations.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configurations.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/configurations/configurations.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/ImpersonationRuleService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/impersonation-rules/impersonation-rules.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/JobModels/JobCountsModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/JobsService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/jobs/jobs/jobs.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/jobs/jobs/jobs.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/jobs/jobs.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/LicenseModel/LicenseModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/LicenseService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/license/license/license.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/license/license/license.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/license/license.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/WFCreationModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkflowService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflow/workflow.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflow/workflow.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/WFActivityModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkflowActivityService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkflowInstanceService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkflowLogVariablesService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/instance-info/instance-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/instance-info/instance-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/WFVariableModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkflowVariablesService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/tabs/tabs.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/tabs/tabs.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/WorkFlowVersionService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/version-info/version-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/version-info/version-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflows.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflows.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflows-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/workflows/workflows.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/PublicHolidayService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holiday/public-holiday.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holiday/public-holiday.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holidays.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holidays.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holidays-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/publicHolidays/public-holidays.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/HelpCenterService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center/help-center.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center/help-center.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-centers.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-centers.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/helpCenter/help-center.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/logs.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/logs.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/LogsService.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/log/log.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/log/log.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/logs-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/logs/logs.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ProviderModels/ProviderModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Enums/ProviderType.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/provider.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/provider/provider.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/provider/provider.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/providers.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/providers.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/providers-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/providers/providers.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/AccountService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/auth-callback/auth-callback.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/auth-callback/auth-callback.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/authentication.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/authentication.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/authentication.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/authentication/authentication.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/UserModels/UserSearchParamDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/UserModels/AddUserModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/UserModels/EditUserModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/users/users.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/users/users.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/users/users.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/ADModels/ADMappingModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Enums/ADType.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/ActiveDirectoryService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory/active-directory.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory/active-directory.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directories.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directories.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/ActiveDirectories/active-directory.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/documents.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/documents.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/add-document/add-document.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/add-document/add-document.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-master-layouts/document-master-layouts.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-master-layouts/document-master-layouts.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/DocumentTemplateService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-template-info/document-template-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-template-info/document-template-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-templates/document-templates.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/document-templates/document-templates.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/edit-document-template/edit-document-template.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/edit-document-template/edit-document-template.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/edit-document/edit-document.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/edit-document/edit-document.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/documents.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/documents/documents.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/organization.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/organization.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/organization.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/organization/organization.model.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/edit-organization/edit-organization.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/edit-organization/edit-organization.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/add-organization/add-organization.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/add-organization/add-organization.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/list-organization/list-organization.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/list-organization/list-organization.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/organization.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/organization/organization.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/injectionModuleService.service.ts","../../../projects/bbsf-admin-portal/src/lib/masterlayout.routing.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/filter/filter.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/filter/filter.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/login/login.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/login/login.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/AnonymousLayoutService.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/anonymouslayout.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/anonymouslayout.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/UserModels/ActivationModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/activation/activation.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/activation/activation.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/rest-password/rest-password.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/rest-password/rest-password.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/upload-license/upload-license.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/upload-license/upload-license.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/error/error.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/error/error.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/AccountModels/changePasswordModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/change-password/change-password.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/change-password/change-password.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/AccountModels/twoFactorAuthenticationModel.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/verify-two-fa/verify-two-fa.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/verify-two-fa/verify-two-fa.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/anonymouslayout-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/HttpErrorInterceptor.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/anonymouslayout/anonymouslayout.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/content/content.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/_layout/components/content/content.component.html","../../../projects/bbsf-admin-portal/src/lib/masterlayout.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-form-options.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Enums/Enums.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/survey.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-filed-value.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/AdDirective.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-form-item/survey-form-item.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-form-item/survey-form-item.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-form/survey-form.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-form/survey-form.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/preview/preview.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/preview/preview.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Pipes/survey-date.pipe.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/result-question/result.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/result-question/result.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-utils.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/model.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/survey-question.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/add-survey.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-field-options.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-question.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-question-option.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/survey-publish.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/submissions/uneliminate-submission/unEliminate-submission.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/no-results/no-results.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/no-results/no-results.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/survey-info.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/survey-info.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/SurveyModels/add-survey-submissio.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/add-survey/add-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/add-survey/add-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey/survey.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-layout/survey-layout.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/survey-layout/survey-layout.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/modules/survey-routing.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/external-url/external-url.component.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/components/external-url/external-url.component.html","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/modules/public-survey.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/modules/survey.module.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/Services/GlobalErrorHandler.service.ts","../../../projects/bbsf-admin-portal/src/lib/Pages/shared/models/user.registration.ts","../../../projects/bbsf-admin-portal/src/public-api.ts","../../../projects/bbsf-admin-portal/src/bnsights-bbsf-admin-portal.ts"],"sourcesContent":["export interface ILayoutComponent {\r\n  componentName: string;\r\n}\r\n\r\nexport interface ILoader extends ILayoutComponent {\r\n  display?: boolean;\r\n  type: 'default' | 'spinner-message' | 'spinner-logo';\r\n}\r\n\r\nexport interface IScrollTop extends ILayoutComponent {\r\n  display: boolean;\r\n}\r\n\r\nexport interface IHeader extends ILayoutComponent {\r\n  display: boolean;\r\n  width: 'fixed' | 'fluid';\r\n  left: 'menu' | 'page-title';\r\n  fixed: {\r\n    desktop: boolean;\r\n    tabletAndMobile: boolean;\r\n  };\r\n  menuIcon: 'svg' | 'font';\r\n}\r\n\r\nexport interface IMegaMenu extends ILayoutComponent {\r\n  display: boolean;\r\n}\r\n\r\nexport interface IAside extends ILayoutComponent {\r\n  display: boolean; // Display aside\r\n  theme: 'dark' | 'light'; // Set aside theme(dark|light)\r\n  menu: 'main' | 'documentation'; // Set aside menu(main|documentation)\r\n  fixed: boolean; // Enable aside fixed mode\r\n  minimized: boolean; // Set aside minimized by default\r\n  minimize: boolean; // Allow aside minimize toggle\r\n  hoverable: boolean; // Allow aside hovering when minimized\r\n  menuIcon: 'svg' | 'font'; // Menu icon type(svg|font)\r\n}\r\n\r\nexport interface IContent extends ILayoutComponent {\r\n  width: 'fixed' | 'fluid';\r\n  layout: 'default' | 'docs';\r\n}\r\n\r\nexport interface IFooter extends ILayoutComponent {\r\n  width: 'fixed' | 'fluid';\r\n}\r\n\r\nexport interface ISidebar extends ILayoutComponent {\r\n  display: boolean;\r\n  toggle: boolean;\r\n  shown: boolean;\r\n  content: 'general' | 'user' | 'shop';\r\n  bgColor: 'bg-white' | 'bg-info';\r\n  displayFooter: boolean;\r\n  displayFooterButton: boolean;\r\n}\r\n\r\nexport interface IToolbar extends ILayoutComponent {\r\n  display: boolean;\r\n  width: 'fixed' | 'fluid';\r\n  fixed: {\r\n    desktop: boolean; // Set fixed header for desktop\r\n    tabletAndMobileMode: boolean; // Set fixed header for talet & mobile\r\n  };\r\n  layout: 'toolbar1' | 'toolbar2' | 'toolbar3' | 'toolbar4' | 'toolbar5';\r\n  layouts: {\r\n    toolbar1: {\r\n      height: string;\r\n      heightAndTabletMobileMode: string;\r\n    };\r\n    toolbar2: {\r\n      height: string;\r\n      heightAndTabletMobileMode: string;\r\n    };\r\n    toolbar3: {\r\n      height: string;\r\n      heightAndTabletMobileMode: string;\r\n    };\r\n    toolbar4: {\r\n      height: string;\r\n      heightAndTabletMobileMode: string;\r\n    };\r\n    toolbar5: {\r\n      height: string;\r\n      heightAndTabletMobileMode: string;\r\n    };\r\n  };\r\n}\r\n\r\nexport interface IPageTitle extends ILayoutComponent {\r\n  display: boolean;\r\n  breadCrumbs: boolean;\r\n  description: boolean;\r\n  layout: 'default' | 'select';\r\n  direction: 'row' | 'column';\r\n  responsive: boolean;\r\n  responsiveBreakpoint: 'lg' | 'md' | 'lg' | '300px';\r\n  responsiveTarget: string;\r\n}\r\n\r\nexport interface IMain extends ILayoutComponent {\r\n  body?: {\r\n    backgroundImage?: string;\r\n    class: string;\r\n  };\r\n  primaryColor: string;\r\n  darkSkinEnabled: boolean;\r\n  type: 'blank' | 'default' | 'none';\r\n}\r\n\r\nexport interface ILayout {\r\n  loader: ILoader;\r\n  scrolltop: IScrollTop;\r\n  header: IHeader;\r\n  megaMenu: IMegaMenu;\r\n  aside: IAside;\r\n  content: IContent;\r\n  toolbar: IToolbar;\r\n  footer: IFooter;\r\n  sidebar?: ISidebar;\r\n  main?: IMain;\r\n  pageTitle?: IPageTitle;\r\n}\r\n\r\nexport interface ILayoutCSSClasses {\r\n  header: Array<string>;\r\n  headerContainer: Array<string>;\r\n  headerMobile: Array<string>;\r\n  headerMenu: Array<string>;\r\n  aside: Array<string>;\r\n  asideMenu: Array<string>;\r\n  asideToggle: Array<string>;\r\n  sidebar: Array<string>;\r\n  toolbar: Array<string>;\r\n  toolbarContainer: Array<string>;\r\n  content: Array<string>;\r\n  contentContainer: Array<string>;\r\n  footerContainer: Array<string>;\r\n  pageTitle: Array<string>;\r\n}\r\n\r\nexport interface ILayoutHTMLAttributes {\r\n  asideMenu: Map<string, string | number | boolean>;\r\n  headerMobile: Map<string, string | number | boolean>;\r\n  headerMenu: Map<string, string | number | boolean>;\r\n  headerContainer: Map<string, string | number | boolean>;\r\n  pageTitle: Map<string, string | number | boolean>;\r\n}\r\n\r\nexport interface ILayoutCSSVariables {\r\n  body: Map<string, string | number | boolean>;\r\n}\r\n\r\nexport const DefaultLayoutConfig: ILayout = {\r\n  main: {\r\n    componentName: 'main',\r\n    type: 'default',\r\n    primaryColor: '#009EF7',\r\n    darkSkinEnabled: true,\r\n  },\r\n  loader: {\r\n    componentName: 'loader',\r\n    display: true,\r\n    type: 'default', // Set default|spinner-message|spinner-logo to hide or show page loader\r\n  },\r\n  scrolltop: {\r\n    componentName: 'scroll-top',\r\n    display: true,\r\n  },\r\n  header: {\r\n    componentName: 'header',\r\n    display: true, // Set true|false to show or hide Header\r\n    width: 'fluid', // Set fixed|fluid to change width type\r\n    left: 'menu',\r\n    fixed: {\r\n      desktop: true, // Set true|false to set fixed Header for desktop mode\r\n      tabletAndMobile: true, // Set true|false to set fixed Header for tablet and mobile modes\r\n    },\r\n    menuIcon: 'svg',\r\n  },\r\n  megaMenu: {\r\n    componentName: 'mega-menu',\r\n    display: true, // Set true|false to show or hide Mega Menu\r\n  },\r\n  aside: {\r\n    componentName: 'aside',\r\n    display: true,\r\n    theme: 'dark',\r\n    menu: 'main',\r\n    fixed: true,\r\n    minimized: false,\r\n    minimize: true,\r\n    hoverable: true,\r\n    menuIcon: 'svg',\r\n  },\r\n  content: {\r\n    componentName: 'content',\r\n    width: 'fixed', // Set fixed|fluid to change width\r\n    layout: 'default',\r\n  },\r\n  toolbar: {\r\n    componentName: 'toolbar',\r\n    display: true, // Display toolbar\r\n    width: 'fluid', // Set fixed|fluid to change width type,\r\n    fixed: {\r\n      desktop: true,\r\n      tabletAndMobileMode: true,\r\n    },\r\n    layout: 'toolbar1',\r\n    layouts: {\r\n      toolbar1: {\r\n        height: '55px',\r\n        heightAndTabletMobileMode: '55px',\r\n      },\r\n      toolbar2: {\r\n        height: '75px',\r\n        heightAndTabletMobileMode: '65px',\r\n      },\r\n      toolbar3: {\r\n        height: '55px',\r\n        heightAndTabletMobileMode: '55px',\r\n      },\r\n      toolbar4: {\r\n        height: '65px',\r\n        heightAndTabletMobileMode: '65px',\r\n      },\r\n      toolbar5: {\r\n        height: '75px',\r\n        heightAndTabletMobileMode: '65px',\r\n      },\r\n    },\r\n  },\r\n  footer: {\r\n    componentName: 'footer',\r\n    width: 'fluid', // Set fixed|fluid to change width type\r\n  },\r\n  pageTitle: {\r\n    componentName: 'page-title',\r\n    display: true,\r\n    breadCrumbs: true,\r\n    description: false,\r\n    layout: 'default',\r\n    direction: 'row',\r\n    responsive: true,\r\n    responsiveBreakpoint: 'lg',\r\n    responsiveTarget: '#kt_toolbar_container',\r\n  },\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport * as objectPath from 'object-path';\r\nimport { DefaultLayoutConfig, ILayout, ILayoutCSSVariables } from '../../configs/default-layout.config';\r\n\r\nconst LAYOUT_CONFIG_LOCAL_STORAGE_KEY =\"\";\r\n\r\nexport type LayoutType = ILayout | undefined;\r\n\r\nexport const getEmptyCSSVariables = (): ILayoutCSSVariables => {\r\n  return {\r\n    body: new Map(),\r\n  };\r\n};\r\n\r\nexport function getEmptyHTMLAttributes(): {\r\n  [key: string]: {\r\n    [attrName: string]: string | boolean;\r\n  };\r\n} {\r\n  return {\r\n    asideMenu: {},\r\n    headerMobile: {},\r\n    headerMenu: {},\r\n    headerContainer: {},\r\n    pageTitle: {},\r\n  };\r\n}\r\n\r\nexport function getEmptyCssClasses(): {\r\n  [key: string]: string[];\r\n} {\r\n  return {\r\n    header: [],\r\n    headerContainer: [],\r\n    headerMobile: [],\r\n    headerMenu: [],\r\n    aside: [],\r\n    asideMenu: [],\r\n    asideToggle: [],\r\n    toolbar: [],\r\n    toolbarContainer: [],\r\n    content: [],\r\n    contentContainer: [],\r\n    footerContainer: [],\r\n    sidebar: [],\r\n    pageTitle: [],\r\n  };\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LayoutService {\r\n  public layoutConfigSubject: BehaviorSubject<LayoutType> =\r\n    new BehaviorSubject<LayoutType>(undefined);\r\n\r\n  // scope list of css classes\r\n  private classes: {\r\n    [key: string]: string[];\r\n  } = getEmptyCssClasses();\r\n\r\n  // scope list of html attributes\r\n  private attrs: {\r\n    [key: string]: {\r\n      [attrName: string]: string | boolean;\r\n    };\r\n  } = getEmptyHTMLAttributes();\r\n\r\n  // scope list of body css variables\r\n  private cssVariables: ILayoutCSSVariables;\r\n\r\n  constructor() {}\r\n\r\n  initConfig(): void {\r\n    const configFromLocalStorage = localStorage.getItem(\r\n      LAYOUT_CONFIG_LOCAL_STORAGE_KEY\r\n    );\r\n    if (configFromLocalStorage) {\r\n      try {\r\n        this.layoutConfigSubject.next(JSON.parse(configFromLocalStorage));\r\n        return;\r\n      } catch (error) {\r\n        this.removeConfig();\r\n        console.error('config parse from local storage', error);\r\n      }\r\n    }\r\n    this.layoutConfigSubject.next(DefaultLayoutConfig);\r\n  }\r\n\r\n  private removeConfig(): void {\r\n    localStorage.removeItem(LAYOUT_CONFIG_LOCAL_STORAGE_KEY);\r\n  }\r\n\r\n  refreshConfigToDefault(): void {\r\n    this.setConfigWithPageRefresh(undefined);\r\n  }\r\n\r\n  getConfig(): ILayout {\r\n    const config = this.layoutConfigSubject.value;\r\n    if (!config) {\r\n      return DefaultLayoutConfig;\r\n    }\r\n\r\n    return config;\r\n  }\r\n\r\n  setConfig(config: LayoutType) {\r\n    if (!config) {\r\n      this.removeConfig();\r\n    } else {\r\n      localStorage.setItem(\r\n        LAYOUT_CONFIG_LOCAL_STORAGE_KEY,\r\n        JSON.stringify(config)\r\n      );\r\n    }\r\n    this.layoutConfigSubject.next(config);\r\n  }\r\n\r\n  updateConfig(fieldsToUpdate: Partial<ILayout>) {\r\n    const config = this.layoutConfigSubject.value;\r\n    if (!config) {\r\n      return;\r\n    }\r\n\r\n    const updatedConfig = { ...config, ...fieldsToUpdate };\r\n    this.classes = getEmptyCssClasses();\r\n    this.cssVariables = getEmptyCSSVariables();\r\n    this.attrs = Object.assign({}, getEmptyHTMLAttributes());\r\n    this.layoutConfigSubject.next(updatedConfig);\r\n  }\r\n\r\n  setConfigWithoutLocalStorageChanges(config: LayoutType) {\r\n    this.layoutConfigSubject.next(config);\r\n  }\r\n\r\n  setConfigWithPageRefresh(config: LayoutType) {\r\n    this.setConfig(config);\r\n    document.location.reload();\r\n  }\r\n\r\n  getProp(path: string): string | boolean | undefined | Object {\r\n    const layoutConfig = this.layoutConfigSubject.value;\r\n    if (!layoutConfig) {\r\n      return;\r\n    }\r\n\r\n    return objectPath.get(layoutConfig, path);\r\n  }\r\n\r\n  setCSSClass(path: string, classesInStr: string) {\r\n    const cssClasses = this.classes[path];\r\n    if (!cssClasses) {\r\n      this.classes[path] = [];\r\n    }\r\n    classesInStr\r\n      .split(' ')\r\n      .forEach((cssClass: string) => this.classes[path].push(cssClass));\r\n  }\r\n\r\n  getCSSClasses(path: string): string[] {\r\n    const cssClasses = this.classes[path];\r\n    if (!cssClasses) {\r\n      return [];\r\n    }\r\n\r\n    return cssClasses;\r\n  }\r\n\r\n  getStringCSSClasses(path: string) {\r\n    return this.getCSSClasses(path).join(' ');\r\n  }\r\n\r\n  getHTMLAttributes(path: string): {\r\n    [attrName: string]: string | boolean;\r\n  } {\r\n    const attributesObj = this.attrs[path];\r\n    if (!attributesObj) {\r\n      return {};\r\n    }\r\n    return attributesObj;\r\n  }\r\n\r\n  setHTMLAttribute(path: string, attrKey: string, attrValue: string | boolean) {\r\n    const attributesObj = this.attrs[path];\r\n    if (!attributesObj) {\r\n      this.attrs[path] = {};\r\n    }\r\n    this.attrs[path][attrKey] = attrValue;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ILayout } from '../../configs/default-layout.config';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LayoutInitService {\r\n  constructor(private layout: LayoutService) {}\r\n\r\n  init() {\r\n    this.layout.initConfig();\r\n\r\n    // init base layout\r\n    this.initLayout();\r\n    this.initHeader();\r\n    this.initPageTitle();\r\n    this.initToolbar();\r\n    this.initContent();\r\n    this.initAside();\r\n    this.initFooter();\r\n  }\r\n\r\n  update(fieldsToUpdate: Partial<ILayout>) {\r\n    this.layout.updateConfig(fieldsToUpdate);\r\n    this.initLayout();\r\n    this.initHeader();\r\n    this.initPageTitle();\r\n    this.initToolbar();\r\n    this.initContent();\r\n    this.initAside();\r\n    this.initFooter();\r\n  }\r\n\r\n  private initLayout() {\r\n    Array.from(document.body.attributes).forEach((attr) => {\r\n      document.body.removeAttribute(attr.name);\r\n    });\r\n    document.body.setAttribute('style', '');\r\n    document.body.setAttribute('id', 'kt_body');\r\n    const selfBodyBackgroundImage = this.layout.getProp(\r\n      'main.body.backgroundImage'\r\n    );\r\n    if (selfBodyBackgroundImage) {\r\n      document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}\")`;\r\n    }\r\n\r\n    const selfBodyClass = (\r\n      this.layout.getProp('main.body.class') || ''\r\n    ).toString();\r\n    if (selfBodyClass) {\r\n      const bodyClasses: string[] = selfBodyClass.split(' ');\r\n      bodyClasses.forEach((cssClass) => document.body.classList.add(cssClass));\r\n    }\r\n  }\r\n\r\n  private initHeader() {\r\n    this.layout.setCSSClass(\r\n      'headerContainer',\r\n      this.layout.getProp('header.width') === 'fluid'\r\n        ? 'container-fluid'\r\n        : 'container-xxl'\r\n    );\r\n\r\n    const fixedDesktop = this.layout.getProp('header.fixed.desktop') as boolean;\r\n    if (fixedDesktop) {\r\n      document.body.classList.add('header-fixed');\r\n    }\r\n\r\n    const tabletAndMobile = this.layout.getProp(\r\n      'header.fixed.tabletAndMobile'\r\n    ) as boolean;\r\n    if (tabletAndMobile) {\r\n      document.body.classList.add('header-tablet-and-mobile-fixed');\r\n    }\r\n  }\r\n\r\n  private initPageTitle() {\r\n    const display = this.layout.getProp('pageTitle.display') as boolean;\r\n    if (!display) {\r\n      return;\r\n    }\r\n\r\n    const direction = this.layout.getProp('pageTitle.direction') as string;\r\n    if (direction === 'column') {\r\n      this.layout.setCSSClass('pageTitle', 'flex-column');\r\n      this.layout.setCSSClass('pageTitle', 'align-items-start');\r\n    } else {\r\n      this.layout.setCSSClass('pageTitle', 'align-items-center');\r\n      this.layout.setCSSClass('pageTitle', 'flex-wrap');\r\n    }\r\n    this.layout.setCSSClass('pageTitle', 'me-3');\r\n\r\n    const responsive = this.layout.getProp('pageTitle.responsive') as boolean;\r\n\r\n    if (responsive) {\r\n      this.layout.setCSSClass('pageTitle', 'mb-5');\r\n      this.layout.setCSSClass('pageTitle', 'mb-lg-0');\r\n      this.layout.setHTMLAttribute('pageTitle', 'data-kt-swapper', true);\r\n      this.layout.setHTMLAttribute(\r\n        'pageTitle',\r\n        'data-kt-swapper-mode',\r\n        'prepend'\r\n      );\r\n\r\n      const responsiveBreakpoint = this.layout.getProp(\r\n        'pageTitle.responsiveBreakpoint'\r\n      ) as string;\r\n      const responsiveTarget = this.layout.getProp(\r\n        'pageTitle.responsiveTarget'\r\n      ) as string;\r\n      this.layout.setHTMLAttribute(\r\n        'pageTitle',\r\n        'data-kt-swapper-parent',\r\n        `{ default: '#kt_content_container', '${responsiveBreakpoint}': '${responsiveTarget}'}`\r\n      );\r\n    }\r\n  }\r\n\r\n  private initToolbar() {\r\n    const display = this.layout.getProp('toolbar.display') as boolean;\r\n    if (!display) {\r\n      return;\r\n    }\r\n\r\n    document.body.classList.add('toolbar-enabled');\r\n    const widthClass = this.layout.getProp('toolbar.width') as string;\r\n    this.layout.setCSSClass(\r\n      'toolbarContainer',\r\n      widthClass === 'fluid' ? 'container-fluid' : 'container-xxl'\r\n    );\r\n\r\n    const fixedDesktop = this.layout.getProp(\r\n      'toolbar.fixed.desktop'\r\n    ) as boolean;\r\n    if (fixedDesktop) {\r\n      document.body.classList.add('toolbar-fixed');\r\n    }\r\n\r\n    const fixedTabletAndMobileMode = this.layout.getProp(\r\n      'toolbar.fixed.tabletAndMobileMode'\r\n    ) as boolean;\r\n    if (fixedTabletAndMobileMode) {\r\n      document.body.classList.add('toolbar-tablet-and-mobile-fixed');\r\n    }\r\n\r\n    // Height setup\r\n    const type = this.layout.getProp('toolbar.layout') as string;\r\n    if (type === 'toolbar1') {\r\n      const height = this.layout.getProp(\r\n        'toolbar.layouts.toolbar1.height'\r\n      ) as string;\r\n      const heightAndTabletMobileMode = this.layout.getProp(\r\n        'toolbar.layouts.toolbar1.heightAndTabletMobileMode'\r\n      ) as string;\r\n      let bodyStyles: string = '';\r\n      if (height) {\r\n        bodyStyles += ` --kt-toolbar-height: ${height};`;\r\n      }\r\n\r\n      if (heightAndTabletMobileMode) {\r\n        bodyStyles += ` --kt-toolbar-height-tablet-and-mobile: ${heightAndTabletMobileMode};`;\r\n      }\r\n      document.body.setAttribute('style', bodyStyles);\r\n    }\r\n  }\r\n\r\n  private initContent() {\r\n    const width = this.layout.getProp('content.width') as string;\r\n    this.layout.setCSSClass(\r\n      'contentContainer',\r\n      width === 'fluid' ? 'container-fluid' : 'container-xxl'\r\n    );\r\n  }\r\n\r\n  private initAside() {\r\n    const display = this.layout.getProp('aside.display') as boolean;\r\n    if (!display) {\r\n      return;\r\n    }\r\n\r\n    // Enable Aside\r\n    document.body.classList.add('aside-enabled');\r\n    const theme = this.layout.getProp('aside.theme') as string;\r\n    this.layout.setCSSClass('aside', `aside-${theme}`);\r\n    const fixed = this.layout.getProp('aside.fixed') as boolean;\r\n    if (fixed) {\r\n      document.body.classList.add('aside-fixed');\r\n    }\r\n\r\n    const minimized = this.layout.getProp('aside.minimized') as boolean;\r\n    if (minimized) {\r\n      document.body.setAttribute('data-kt-aside-minimize', 'on');\r\n    }\r\n\r\n    // Hoverable on minimize\r\n    const hoverable = this.layout.getProp('aside.hoverable') as boolean;\r\n    if (hoverable) {\r\n      this.layout.setCSSClass('aside', `aside-hoverable`);\r\n    }\r\n  }\r\n\r\n  private initFooter() {\r\n    const width = this.layout.getProp('footer.width') as string;\r\n    this.layout.setCSSClass(\r\n      'footerContainer',\r\n      width === 'fluid' ? 'container-fluid' : 'container-xxl'\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface PageLink {\r\n  title: string;\r\n  path: string;\r\n  isActive: boolean;\r\n  isSeparator?: boolean;\r\n}\r\n\r\nexport class PageInfo {\r\n  breadcrumbs: Array<PageLink> = [];\r\n  title: string = '';\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class PageInfoService {\r\n  public title: BehaviorSubject<string> = new BehaviorSubject<string>(\r\n    'Home'\r\n  );\r\n  public description: BehaviorSubject<string> = new BehaviorSubject<string>('');\r\n  public breadcrumbs: BehaviorSubject<Array<PageLink>> = new BehaviorSubject<\r\n    Array<PageLink>\r\n  >([]);\r\n\r\n  constructor() { }\r\n\r\n  public setTitle(_title: string) {\r\n    this.title.next(_title);\r\n  }\r\n\r\n  public static PageTitle: string = '';\r\n  public static PageBreadcrumbs: any[] = [];\r\n\r\n\r\n  public updateTitle(_title: string) {\r\n    setTimeout(() => {\r\n      this.setTitle(_title);\r\n    }, 1);\r\n  }\r\n\r\n  public setDescription(_title: string) {\r\n    this.description.next(_title);\r\n  }\r\n\r\n  public updateDescription(_description: string) {\r\n    setTimeout(() => {\r\n      this.setDescription(_description);\r\n    }, 1);\r\n  }\r\n\r\n  public setBreadcrumbs(_bs: Array<PageLink>) {\r\n    this.breadcrumbs.next(_bs);\r\n  }\r\n\r\n  public updateBreadcrumbs(_bs: Array<PageLink>) {\r\n    setTimeout(() => {\r\n      this.setBreadcrumbs(_bs);\r\n    }, 20);\r\n  }\r\n\r\n  public calculateTitle() {\r\n    // const asideTitle = this.calculateTitleInMenu('asideMenu');\r\n    // const headerTitle = this.calculateTitleInMenu('#kt_header_menu');\r\n    // const title = asideTitle || headerTitle || '';\r\n    this.setTitle(PageInfoService.PageTitle);\r\n\r\n  }\r\n\r\n  public calculateTitleInMenu(menuId: string): string | undefined {\r\n    const menu = document.getElementById(menuId);\r\n    if (!menu) {\r\n      return;\r\n    }\r\n\r\n    const allActiveMenuLinks = Array.from<HTMLLinkElement>(\r\n      menu.querySelectorAll('a.menu-link')\r\n    ).filter((link) => link.classList.contains('active'));\r\n\r\n    if (!allActiveMenuLinks || allActiveMenuLinks.length === 0) {\r\n      return;\r\n    }\r\n\r\n    const titleSpan = allActiveMenuLinks[0].querySelector(\r\n      'span.menu-title'\r\n    ) as HTMLSpanElement | null;\r\n    if (!titleSpan) {\r\n      return;\r\n    }\r\n\r\n    return titleSpan.innerText;\r\n  }\r\n\r\n  public calculateBreadcrumbs() {\r\n    // const asideBc = this.calculateBreadcrumbsInMenu('asideMenu');\r\n    // const headerBc = this.calculateBreadcrumbsInMenu('#kt_header_menu');\r\n    // const bc = asideBc && asideBc.length > 0 ? asideBc : headerBc;\r\n    // if (!bc) {\r\n    //   this.setBreadcrumbs([]);\r\n    //   return;\r\n    // }\r\n    this.setBreadcrumbs(PageInfoService.PageBreadcrumbs);\r\n  }\r\n\r\n  public calculateBreadcrumbsInMenu(menuId: string): Array<PageLink> | undefined {\r\n\r\n    const result: Array<PageLink> = [];\r\n    const menu = document.getElementById(menuId);\r\n    if (!menu) {\r\n      return;\r\n    }\r\n\r\n    const allActiveParents = Array.from<HTMLDivElement>(menu.querySelectorAll('div.menu-item'))\r\n      .filter((link) => link.classList.contains('here'));\r\n\r\n    if (!allActiveParents || allActiveParents.length === 0) {\r\n      return;\r\n    }\r\n\r\n    allActiveParents.forEach((parent) => {\r\n      const titleSpan = parent.querySelector('span.menu-title') as HTMLSpanElement | null;\r\n      if (!titleSpan) {\r\n        return;\r\n      }\r\n\r\n      const title = titleSpan.innerText;\r\n      const path = titleSpan.getAttribute('data-link');\r\n      if (!path) {\r\n        return;\r\n      }\r\n\r\n      result.push({\r\n        title,\r\n        path,\r\n        isSeparator: false,\r\n        isActive: false,\r\n      });\r\n      // add separator\r\n      result.push({\r\n        title: '',\r\n        path: '',\r\n        isSeparator: true,\r\n        isActive: false,\r\n      });\r\n    });\r\n\r\n    return result;\r\n  }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { LayoutService } from '../../../../../_metronic/core/services/layout.service';\r\nimport { PageInfoService, PageLink } from '../../../../../_metronic/core/services/page-info.service';\r\nimport { result } from 'lodash';\r\n\r\n\r\n@Component({\r\n    selector: 'app-page-title',\r\n    templateUrl: './page-title.component.html',\r\n    standalone: false\r\n})\r\nexport class PageTitleComponent implements OnInit, OnDestroy {\r\n  private unsubscribe: Subscription[] = [];\r\n  showTitle: boolean = true;\r\n  showBC: boolean = true;\r\n  title$: Observable<string>;\r\n  description$: Observable<string>;\r\n  bc$: Observable<Array<PageLink>>;\r\n  pageTitleCssClass: string = '';\r\n  pageTitleDirection: string = 'row';\r\n\r\n  constructor(\r\n    private pageInfo: PageInfoService,\r\n    private layout: LayoutService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n\r\n    this.title$ = this.pageInfo.title.asObservable();\r\n    this.description$ = this.pageInfo.description.asObservable();\r\n    this.bc$ = this.pageInfo.breadcrumbs.asObservable();\r\n    this.showTitle = this.layout.getProp('pageTitle.display') as boolean;\r\n    this.showBC = this.layout.getProp('pageTitle.breadCrumbs') as boolean;\r\n    this.pageTitleCssClass = this.layout.getStringCSSClasses('pageTitle');\r\n    this.pageTitleDirection = this.layout.getProp(\r\n      'pageTitle.direction'\r\n    ) as string;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n  }\r\n}\r\n","<ng-container *ngIf=\"title$ | async as title\">\r\n  <ng-container *ngIf=\"showTitle\">\r\n    <!-- begin::Title -->\r\n    <h1 class=\"d-flex align-items-center text-dark fw-bolder my-1 fs-3\">\r\n      {{ title }}\r\n    </h1>\r\n    <!-- end::Title -->\r\n  </ng-container>\r\n\r\n  <ng-container *ngIf=\"showBC\">\r\n    <ng-container *ngIf=\"bc$ | async as _bc\">\r\n      <ng-container *ngIf=\"_bc.length > 0\">\r\n        <ng-container *ngIf=\"pageTitleDirection === 'row'\">\r\n          <span class=\"h-20px border-gray-200 border-start mx-4\"></span>\r\n        </ng-container>\r\n        <ul class=\"breadcrumb breadcrumb-separatorless fw-bold fs-7 my-1\">\r\n          <li\r\n            *ngFor=\"let bc of _bc\"\r\n            class=\"breadcrumb-item\"\r\n            [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-dark' : ''\"\r\n            [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\"\r\n          >\r\n            <ng-container *ngIf=\"!bc.isSeparator\">\r\n              \r\n              <a [routerLink]=\"bc.path\" routerLinkActive=\"router-link-active\" class=\"text-muted text-hover-primary\" >\r\n                {{ bc.title }}\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"bc.isSeparator\">\r\n              <span class=\"bullet bg-gray-200 w-5px h-2px\"></span>\r\n            </ng-container>\r\n          </li>\r\n          <li class=\"breadcrumb-item text-dark\">{{ title }}</li>\r\n        </ul>\r\n      </ng-container>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-container>\r\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  ElementRef,\r\n  OnInit,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { LayoutService } from '../../../../_metronic/core/services/layout.service';\r\n\r\n@Component({\r\n    selector: 'app-toolbar',\r\n    templateUrl: './toolbar.component.html',\r\n    standalone: false\r\n})\r\nexport class ToolbarComponent implements OnInit, AfterViewInit {\r\n  @ViewChild('ktPageTitle', { static: true }) ktPageTitle: ElementRef;\r\n  pageTitleAttributes: {\r\n    [attrName: string]: string | boolean;\r\n  };\r\n  toolbarContainerCssClasses: string = '';\r\n  pageTitleCssClasses: string = '';\r\n\r\n  constructor(private layout: LayoutService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.toolbarContainerCssClasses =\r\n      this.layout.getStringCSSClasses('toolbarContainer');\r\n    this.pageTitleCssClasses = this.layout.getStringCSSClasses('pageTitle');\r\n    this.pageTitleAttributes = this.layout.getHTMLAttributes('pageTitle');\r\n  }\r\n  getCurrentUser() {\r\n\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (this.ktPageTitle) {\r\n      for (const key in this.pageTitleAttributes) {\r\n        if (\r\n          this.pageTitleAttributes.hasOwnProperty(key) &&\r\n          this.ktPageTitle.nativeElement\r\n        ) {\r\n          this.ktPageTitle.nativeElement.attributes[key] =\r\n            this.pageTitleAttributes[key];\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n","<div id=\"kt_toolbar_container\"\r\n     [ngClass]=\"toolbarContainerCssClasses\"\r\n     class=\"d-flex flex-stack\">\r\n  <app-page-title #ktPageTitle\r\n                  class=\"page-title d-flex\"\r\n                  [ngClass]=\"pageTitleCssClasses\"></app-page-title>\r\n  <!-- begin::Actions  -->\r\n  <div class=\"d-flex align-items-center py-1\">\r\n    <!-- begin::Wrapper  -->\r\n    <div class=\"me-4\">\r\n      <ng-content select=\".subheadertoolbar\"></ng-content>\r\n    </div>\r\n    <!-- end::Wrapper  -->\r\n    <!-- end::Button  -->\r\n  </div>\r\n  <ng-content select=\".filter-container\"></ng-content>\r\n\r\n  <!-- end::Actions  -->\r\n</div>\r\n","function getObjectPropertyValueByKey(obj: any, key: string): any | undefined {\r\n  const map = new Map(Object.entries(obj))\r\n  if (obj.hasOwnProperty(key) && map) {\r\n    return map.get(key)\r\n  }\r\n}\r\n\r\n/**\r\n * Generates unique ID for give prefix.\r\n * @param {string} prefix Prefix for generated ID\r\n * @returns {boolean}\r\n */\r\nfunction getUniqueIdWithPrefix(prefix: string | undefined): string {\r\n  const result = Math.floor(Math.random() * new Date().getTime()).toString()\r\n  if (!prefix) {\r\n    return result\r\n  }\r\n\r\n  return `${prefix}${result}`\r\n}\r\n\r\n/* eslint-disable no-useless-escape */\r\nfunction stringSnakeToCamel(str: string): string {\r\n  return str.replace(/(\\-\\w)/g, function (m) {\r\n    return m[1].toUpperCase()\r\n  })\r\n}\r\n\r\nfunction toJSON(value: string | JSON): JSON | undefined {\r\n  if (typeof value !== 'string') {\r\n    return value\r\n  }\r\n\r\n  if (!value) {\r\n    return undefined\r\n  }\r\n\r\n  // (\"'\" => \"\\\"\");\r\n  const result = value\r\n    .toString()\r\n    .split('')\r\n    .map((el) => (el !== \"'\" ? el : '\"'))\r\n    .join('')\r\n  var jsonStr = result.replace(/(\\w+:)|(\\w+ :)/g, function (matched) {\r\n    return '\"' + matched.substring(0, matched.length - 1) + '\":'\r\n  })\r\n  try {\r\n    return JSON.parse(jsonStr)\r\n  } catch {\r\n    return undefined\r\n  }\r\n}\r\n\r\nexport {getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel, toJSON}\r\n","import { OffsetModel } from './models/OffsetModel';\r\nimport { ViewPortModel } from './models/ViewPortModel';\r\nimport { ElementStyleUtil } from './_ElementStyleUtil';\r\nimport { DataUtil } from './_DataUtil';\r\nimport { ElementAnimateUtil } from './ElementAnimateUtil';\r\nimport { getObjectPropertyValueByKey, toJSON } from './_TypesHelpers';\r\n\r\nfunction getCSS(el: HTMLElement, styleProp: string) {\r\n  const defaultView = (el.ownerDocument || document).defaultView;\r\n\r\n  if (!defaultView) {\r\n    return '';\r\n  }\r\n\r\n  // sanitize property name to css notation\r\n  // (hyphen separated words eg. font-Size)\r\n  styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase();\r\n\r\n  return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\r\n}\r\n\r\nfunction getCSSVariableValue(variableName: string) {\r\n  let hex = getComputedStyle(document.documentElement).getPropertyValue(\r\n    variableName\r\n  );\r\n  if (hex && hex.length > 0) {\r\n    hex = hex.trim();\r\n  }\r\n\r\n  return hex;\r\n}\r\n\r\nfunction getElementActualCss(el: HTMLElement, prop: any, cache: boolean) {\r\n  let css = '';\r\n\r\n  if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\r\n    let value;\r\n\r\n    // the element is hidden so:\r\n    // making the el block so we can meassure its height but still be hidden\r\n    css = el.style.cssText;\r\n    el.style.cssText =\r\n      'position: absolute; visibility: hidden; display: block;';\r\n\r\n    if (prop === 'width') {\r\n      value = el.offsetWidth;\r\n    } else if (prop === 'height') {\r\n      value = el.offsetHeight;\r\n    }\r\n\r\n    el.style.cssText = css;\r\n\r\n    // store it in cache\r\n    if (value !== undefined) {\r\n      el.setAttribute('kt-hidden-' + prop, value.toString());\r\n      return parseFloat(value.toString());\r\n    }\r\n    return 0;\r\n  } else {\r\n    // store it in cache\r\n    const attributeValue = el.getAttribute('kt-hidden-' + prop);\r\n    if (attributeValue || attributeValue === '0') {\r\n      return parseFloat(attributeValue);\r\n    }\r\n  }\r\n  return 0;\r\n}\r\n\r\nfunction getElementActualHeight(el: HTMLElement) {\r\n  return getElementActualCss(el, 'height', false);\r\n}\r\n\r\nfunction getElementActualWidth(el: HTMLElement, cache?: boolean) {\r\n  return getElementActualCss(el, 'width', false);\r\n}\r\n\r\nfunction getElementIndex(element: HTMLElement) {\r\n  if (element.parentNode) {\r\n    const c = element.parentNode.children;\r\n    for (let i = 0; i < c.length; i++) {\r\n      if (c[i] === element) return i;\r\n    }\r\n  }\r\n  return -1;\r\n}\r\n\r\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\r\nfunction getElementMatches(element: HTMLElement, selector: string) {\r\n  const p = Element.prototype;\r\n  const f = p.matches || p.webkitMatchesSelector;\r\n\r\n  if (element && element.tagName) {\r\n    return f.call(element, selector);\r\n  } else {\r\n    return false;\r\n  }\r\n}\r\n\r\nfunction getElementOffset(el: HTMLElement): OffsetModel {\r\n  // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\r\n  // Support: IE <=11 only\r\n  // Running getBoundingClientRect on a\r\n  // disconnected node in IE throws an error\r\n  if (!el.getClientRects().length) {\r\n    return { top: 0, left: 0 };\r\n  }\r\n\r\n  // Get document-relative position by adding viewport scroll to viewport-relative gBCR\r\n  const rect = el.getBoundingClientRect();\r\n  const win = el.ownerDocument.defaultView;\r\n  if (win) {\r\n    return {\r\n      top: rect.top + win.pageYOffset,\r\n      left: rect.left + win.pageXOffset,\r\n    };\r\n  }\r\n\r\n  return rect;\r\n}\r\n\r\nfunction getElementParents(element: Element, selector: string) {\r\n  // Element.matches() polyfill\r\n  if (!Element.prototype.matches) {\r\n    Element.prototype.matches = function (s) {\r\n      const matches = (document || this.ownerDocument).querySelectorAll(s);\r\n      let i = matches.length;\r\n      while (--i >= 0 && matches.item(i) !== this) {}\r\n      return i > -1;\r\n    };\r\n  }\r\n\r\n  // Set up a parent array\r\n  const parents = [];\r\n\r\n  let el: Element | null = element;\r\n\r\n  // Push each parent element to the array\r\n  for (; el && el !== document.body; el = el.parentElement) {\r\n    if (selector) {\r\n      if (el.matches(selector)) {\r\n        parents.push(el);\r\n      }\r\n      continue;\r\n    }\r\n    parents.push(el);\r\n  }\r\n\r\n  // Return our parent array\r\n  return parents;\r\n}\r\n\r\nfunction getHighestZindex(el: HTMLElement) {\r\n  let bufferNode: Node | null = el as Node;\r\n  let buffer = el;\r\n  while (bufferNode && bufferNode !== document) {\r\n    // Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n    // This makes behavior of this function consistent across browsers\r\n    // WebKit always returns auto if the element is positioned\r\n    const position = buffer.style.getPropertyValue('position');\r\n    if (\r\n      position === 'absolute' ||\r\n      position === 'relative' ||\r\n      position === 'fixed'\r\n    ) {\r\n      // IE returns 0 when zIndex is not specified\r\n      // other browsers return a string\r\n      // we ignore the case of nested elements with an explicit value of 0\r\n      // <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\r\n      const value = parseInt(buffer.style.getPropertyValue('z-index'));\r\n      if (!isNaN(value) && value !== 0) {\r\n        return value;\r\n      }\r\n    }\r\n\r\n    bufferNode = bufferNode.parentNode;\r\n    buffer = bufferNode as HTMLElement;\r\n  }\r\n  return null;\r\n}\r\n\r\nfunction getScrollTop(): number {\r\n  return (document.scrollingElement || document.documentElement).scrollTop;\r\n}\r\n\r\n// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth\r\nfunction getViewPort(): ViewPortModel {\r\n  return {\r\n    width: window.innerWidth,\r\n    height: window.innerHeight,\r\n  };\r\n}\r\n\r\nfunction insertAfterElement(el: HTMLElement, referenceNode: HTMLElement) {\r\n  return referenceNode.parentNode?.insertBefore(el, referenceNode.nextSibling);\r\n}\r\n\r\nfunction isElementHasClasses(\r\n  element: HTMLElement,\r\n  classesStr: string\r\n): boolean {\r\n  const classes = classesStr.split(' ');\r\n  for (let i = 0; i < classes.length; i++) {\r\n    if (!element.classList.contains(classes[i])) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  return true;\r\n}\r\n\r\nfunction isVisibleElement(element: HTMLElement): boolean {\r\n  return !(element.offsetWidth === 0 && element.offsetHeight === 0);\r\n}\r\n\r\n// Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\r\nfunction throttle(timer: number | undefined, func: Function, delay?: number) {\r\n  // If setTimeout is already scheduled, no need to do anything\r\n  if (timer) {\r\n    return;\r\n  }\r\n\r\n  // Schedule a setTimeout after delay seconds\r\n  timer = window.setTimeout(function () {\r\n    func();\r\n\r\n    // Once setTimeout function execution is finished, timerId = undefined so that in <br>\r\n    // the next scroll event function execution can be scheduled by the setTimeout\r\n    timer = undefined;\r\n  }, delay);\r\n}\r\n\r\nfunction getElementChildren(\r\n  element: HTMLElement,\r\n  selector: string\r\n): Array<HTMLElement> | null {\r\n  if (!element || !element.childNodes) {\r\n    return null;\r\n  }\r\n\r\n  const result: Array<HTMLElement> = [];\r\n  for (let i = 0; i < element.childNodes.length; i++) {\r\n    const child = element.childNodes[i];\r\n    // child.nodeType == 1 => Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference\r\n    if (\r\n      child.nodeType === 1 &&\r\n      getElementMatches(child as HTMLElement, selector)\r\n    ) {\r\n      result.push(child as HTMLElement);\r\n    }\r\n  }\r\n\r\n  return result;\r\n}\r\n\r\nfunction getElementChild(\r\n  element: HTMLElement,\r\n  selector: string\r\n): HTMLElement | null {\r\n  const children = getElementChildren(element, selector);\r\n  return children ? children[0] : null;\r\n}\r\n\r\nfunction isMobileDevice(): boolean {\r\n  let test = getViewPort().width < +getBreakpoint('lg') ? true : false;\r\n\r\n  if (test === false) {\r\n    // For use within normal web clients\r\n    test = navigator.userAgent.match(/iPad/i) != null;\r\n  }\r\n\r\n  return test;\r\n}\r\n\r\nfunction getBreakpoint(breakpoint: string) {\r\n  let value: number | string = getCSSVariableValue('--bs-' + breakpoint);\r\n  if (value) {\r\n    value = parseInt(value.trim());\r\n  }\r\n\r\n  return value;\r\n}\r\n\r\nfunction getAttributeValueByBreakpoint(incomingAttr: string): string | JSON {\r\n  let value = toJSON(incomingAttr);\r\n  if (typeof value !== 'object') {\r\n    return incomingAttr;\r\n  }\r\n\r\n  const width = getViewPort().width;\r\n  let resultKey;\r\n  let resultBreakpoint = -1;\r\n  let breakpoint;\r\n\r\n  for (let key in value) {\r\n    if (key === 'default') {\r\n      breakpoint = 0;\r\n    } else {\r\n      breakpoint = getBreakpoint(key) ? +getBreakpoint(key) : parseInt(key);\r\n    }\r\n\r\n    if (breakpoint <= width && breakpoint > resultBreakpoint) {\r\n      resultKey = key;\r\n      resultBreakpoint = breakpoint;\r\n    }\r\n  }\r\n\r\n  return resultKey ? getObjectPropertyValueByKey(value, resultKey) : value;\r\n}\r\n\r\nfunction colorLighten(color: string, amount: number) {\r\n  const addLight = (_color: string, _amount: number) => {\r\n    const cc = parseInt(_color, 16) + _amount;\r\n    const cNum = cc > 255 ? 255 : cc;\r\n    const c =\r\n      cNum.toString(16).length > 1\r\n        ? cNum.toString(16)\r\n        : `0${cNum.toString(16)}`;\r\n    return c;\r\n  };\r\n\r\n  color = color.indexOf('#') >= 0 ? color.substring(1, color.length) : color;\r\n  amount = parseInt(((255 * amount) / 100).toString());\r\n  return (color = `#${addLight(color.substring(0, 2), amount)}${addLight(\r\n    color.substring(2, 4),\r\n    amount\r\n  )}${addLight(color.substring(4, 6), amount)}`);\r\n}\r\n\r\nfunction colorDarken(color: string, amount: number) {\r\n  const subtractLight = (_color: string, _amount: number) => {\r\n    const cc = parseInt(color, 16) - amount;\r\n    const cNum = cc < 0 ? 0 : cc;\r\n    const c =\r\n      cNum.toString(16).length > 1\r\n        ? cNum.toString(16)\r\n        : `0${cNum.toString(16)}`;\r\n    return c;\r\n  };\r\n\r\n  color = color.indexOf('#') >= 0 ? color.substring(1, color.length) : color;\r\n  amount = parseInt(((255 * amount) / 100).toString());\r\n\r\n  return (color = `#${subtractLight(\r\n    color.substring(0, 2),\r\n    amount\r\n  )}${subtractLight(color.substring(2, 4), amount)}${subtractLight(\r\n    color.substring(4, 6),\r\n    amount\r\n  )}`);\r\n}\r\n\r\nexport {\r\n  getBreakpoint,\r\n  getCSS,\r\n  getCSSVariableValue,\r\n  getElementActualCss,\r\n  getElementActualHeight,\r\n  getElementActualWidth,\r\n  getElementIndex,\r\n  getElementMatches,\r\n  getElementOffset,\r\n  getElementParents,\r\n  getHighestZindex,\r\n  getScrollTop,\r\n  getViewPort,\r\n  insertAfterElement,\r\n  isElementHasClasses,\r\n  isVisibleElement,\r\n  throttle,\r\n  getElementChildren,\r\n  getElementChild,\r\n  isMobileDevice,\r\n  getAttributeValueByBreakpoint,\r\n  colorLighten,\r\n  colorDarken\r\n};\r\n","export class DataUtil {\r\n  static store: Map<HTMLElement, Map<string, any>> = new Map()\r\n\r\n  public static set(instance: HTMLElement | undefined, key: string, data: any): void {\r\n    if (!instance) {\r\n      return\r\n    }\r\n\r\n    const instanceData = DataUtil.store.get(instance)\r\n    if (!instanceData) {\r\n      const newMap = new Map().set(key, data)\r\n      DataUtil.store.set(instance, newMap)\r\n      return\r\n    }\r\n\r\n    instanceData.set(key, data)\r\n  }\r\n\r\n  public static get(instance: HTMLElement, key: string): any | undefined {\r\n    const instanceData = DataUtil.store.get(instance)\r\n    if (!instanceData) {\r\n      return\r\n    }\r\n\r\n    return instanceData.get(key)\r\n  }\r\n\r\n  public static remove(instance: HTMLElement, key: string): void {\r\n    const instanceData = DataUtil.store.get(instance)\r\n    if (!instanceData) {\r\n      return\r\n    }\r\n\r\n    instanceData.delete(key)\r\n  }\r\n\r\n  public static has(instance: HTMLElement, key: string): boolean {\r\n    const instanceData = DataUtil.store.get(instance)\r\n    if (instanceData) {\r\n      return instanceData.has(key)\r\n    }\r\n\r\n    return false\r\n  }\r\n\r\n  public static getAllInstancesByKey(key: string) {\r\n    const result: any[] = []\r\n    DataUtil.store.forEach((val) => {\r\n      val.forEach((v, k) => {\r\n        if (k === key) {\r\n          result.push(v)\r\n        }\r\n      })\r\n    })\r\n    return result\r\n  }\r\n}\r\n","import {DataUtil} from './_DataUtil'\r\nimport {getUniqueIdWithPrefix} from './_TypesHelpers'\r\n\r\nexport interface EventMeta {\r\n  name: string\r\n  callback: Function\r\n  one: boolean\r\n  fired: boolean\r\n}\r\n\r\nexport class EventHandlerUtil {\r\n  static store: Map<string, Map<string, EventMeta>> = new Map()\r\n\r\n  private static setEventMetasByName(name: string, metas: Map<string, EventMeta>): void {\r\n    EventHandlerUtil.store.set(name, metas)\r\n  }\r\n\r\n  private static getEventMetasByName(name: string): Map<string, EventMeta> | undefined {\r\n    return EventHandlerUtil.store.get(name)\r\n  }\r\n\r\n  private static setEventMetaByNameAndHandlerId(\r\n    name: string,\r\n    handlerId: string,\r\n    meta: EventMeta\r\n  ): void {\r\n    let metas = EventHandlerUtil.getEventMetasByName(name)\r\n    if (!metas) {\r\n      metas = new Map()\r\n    }\r\n\r\n    metas.set(handlerId, meta)\r\n    EventHandlerUtil.setEventMetasByName(name, metas)\r\n  }\r\n\r\n  private static getEventsMetaByHandlerId(name: string, handlerId: string): EventMeta | undefined {\r\n    const metas = EventHandlerUtil.store.get(name)\r\n    if (!metas) {\r\n      return\r\n    }\r\n\r\n    return metas.get(handlerId)\r\n  }\r\n\r\n  private static setFiredByNameAndHandlerId(name: string, handerId: string, fired: boolean): void {\r\n    const meta = EventHandlerUtil.getEventsMetaByHandlerId(name, handerId)\r\n    if (!meta) {\r\n      return\r\n    }\r\n\r\n    meta.fired = fired\r\n    EventHandlerUtil.setEventMetaByNameAndHandlerId(name, handerId, meta)\r\n  }\r\n\r\n  private static addEvent(\r\n    element: HTMLElement,\r\n    name: string,\r\n    callback: Function,\r\n    one: boolean = false\r\n  ) {\r\n    const handlerId = getUniqueIdWithPrefix('event')\r\n    DataUtil.set(element, name, handlerId)\r\n    const meta: EventMeta = {\r\n      name: name,\r\n      callback: callback,\r\n      one: one,\r\n      fired: false,\r\n    }\r\n\r\n    EventHandlerUtil.setEventMetaByNameAndHandlerId(name, handlerId, meta)\r\n  }\r\n\r\n  private static removeEvent(element: HTMLElement, name: string) {\r\n    const handlerId = DataUtil.get(element, name)\r\n    if (!handlerId) {\r\n      return\r\n    }\r\n\r\n    const metas = EventHandlerUtil.getEventMetasByName(name)\r\n    if (!metas) {\r\n      return\r\n    }\r\n\r\n    metas.delete(handlerId)\r\n    EventHandlerUtil.setEventMetasByName(name, metas)\r\n  }\r\n\r\n  public static trigger(element: HTMLElement, name: string, e?: Event) {\r\n    if (DataUtil.has(element, name)) {\r\n      const handlerId = DataUtil.get(element, name)\r\n      if (!handlerId) {\r\n        return undefined\r\n      }\r\n\r\n      const handler = EventHandlerUtil.getEventsMetaByHandlerId(name, handlerId)\r\n      if (handler) {\r\n        if (handler.name === name) {\r\n          if (handler.one === true) {\r\n            if (handler.fired === false) {\r\n              EventHandlerUtil.setFiredByNameAndHandlerId(name, handlerId, true)\r\n              return handler.callback.call(this, e)\r\n            }\r\n          } else {\r\n            return handler.callback.call(this, e)\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  public static on = function (element: HTMLElement, name: string, callBack: Function): void {\r\n    EventHandlerUtil.addEvent(element, name, callBack, false)\r\n  }\r\n\r\n  public static one(element: HTMLElement, name: string, callBack: Function): void {\r\n    EventHandlerUtil.addEvent(element, name, callBack, true)\r\n  }\r\n\r\n  public static off(element: HTMLElement, name: string): void {\r\n    EventHandlerUtil.removeEvent(element, name)\r\n  }\r\n}\r\n","import {getUniqueIdWithPrefix} from './_TypesHelpers'\r\n\r\nexport class DOMEventHandlerUtil {\r\n  public static store = new Map()\r\n\r\n  public static on(\r\n    element: HTMLElement,\r\n    selector: string,\r\n    eventName: string,\r\n    callBack: any\r\n  ): string {\r\n    const eventId = getUniqueIdWithPrefix('DOMEvent')\r\n    DOMEventHandlerUtil.store.set(eventId, (e: Event) => {\r\n      const targets = element.querySelectorAll(selector)\r\n      let target: HTMLElement | null = e.target as HTMLElement\r\n      while (target && target !== element) {\r\n        for (let i = 0; i < targets.length; i++) {\r\n          if (target === targets[i]) {\r\n            callBack.call(target, e)\r\n          }\r\n        }\r\n\r\n        if (target.parentElement) {\r\n          target = target.parentElement\r\n        } else {\r\n          target = null\r\n        }\r\n      }\r\n    })\r\n    element.addEventListener(eventName, DOMEventHandlerUtil.store.get(eventId))\r\n    return eventId\r\n  }\r\n\r\n  public static off(element: HTMLElement, eventName: string, eventId: string): void {\r\n    const funcFromStore = DOMEventHandlerUtil.store.get(eventId)\r\n    if (!funcFromStore) {\r\n      return\r\n    }\r\n\r\n    element.removeEventListener(eventName, funcFromStore)\r\n    DOMEventHandlerUtil.store.delete(eventId)\r\n  }\r\n\r\n  public static one(element: HTMLElement, eventName: string, callBack: Function): void {\r\n    element.addEventListener(eventName, function calee(e) {\r\n      // remove event\r\n      if (e.target && e.target.removeEventListener) {\r\n        e.target.removeEventListener(e.type, calee)\r\n      }\r\n\r\n      if (element && e && e.currentTarget) {\r\n        // if (element && element.removeEventListener && e && e.currentTarget) {\r\n        e.currentTarget.removeEventListener(e.type, calee)\r\n      }\r\n\r\n      // call hander\r\n      return callBack(e)\r\n    })\r\n  }\r\n}\r\n","export class ElementStyleUtil {\r\n  public static set(element: HTMLElement, property: string, value?: any, important?: boolean) {\r\n    if (important) {\r\n      element.style.setProperty(property, value, 'important')\r\n    } else {\r\n      element.style.setProperty(property, value)\r\n    }\r\n  }\r\n\r\n  public static get(element: HTMLElement, attributeName: string) {\r\n    return element.style.getPropertyValue(attributeName)\r\n  }\r\n\r\n  public static remove(element: HTMLElement, attibuteName: string) {\r\n    element.style.removeProperty(attibuteName)\r\n  }\r\n}\r\n","import { DataUtil } from './_DataUtil'\r\nimport {DOMEventHandlerUtil} from './_DOMEventHandlerUtil'\r\nimport {ElementStyleUtil} from './_ElementStyleUtil'\r\nimport {getElementActualHeight, getElementOffset, isVisibleElement} from './DomHelpers'\r\n\r\nexport class ElementAnimateUtil {\r\n  public static animate(\r\n    from: number,\r\n    to: number,\r\n    duration: number,\r\n    update: Function,\r\n    complete?: Function\r\n  ) {\r\n    /**\r\n     * TinyAnimate.easings\r\n     *  Adapted from jQuery Easing\r\n     */\r\n    const easings = {\r\n      linear: function (t: number, b: number, c: number, d: number) {\r\n        return (c * t) / d + b\r\n      },\r\n    }\r\n\r\n    // Create mock done() function if necessary\r\n    if (!complete) {\r\n      complete = function () {}\r\n    }\r\n\r\n    // Animation loop\r\n    // let canceled = false;\r\n    const change = to - from\r\n\r\n    function loop(timestamp: number) {\r\n      var time = (timestamp || +new Date()) - start\r\n\r\n      if (time >= 0) {\r\n        update(easings.linear(time, from, change, duration))\r\n      }\r\n      if (time >= 0 && time >= duration) {\r\n        update(to)\r\n        if (complete) {\r\n          complete()\r\n        }\r\n      } else {\r\n        window.requestAnimationFrame(loop)\r\n      }\r\n    }\r\n\r\n    update(from)\r\n\r\n    // Start animation loop\r\n    const start =\r\n      window.performance && window.performance.now ? window.performance.now() : +new Date()\r\n\r\n    window.requestAnimationFrame(loop)\r\n  }\r\n\r\n  public static animateClass(\r\n    element: HTMLElement,\r\n    animationName: string,\r\n    callBack?: Function\r\n  ): void {\r\n    const animateClasses = animationName.split(' ')\r\n    animateClasses.forEach((cssClass) => element.classList.add(cssClass))\r\n    DOMEventHandlerUtil.one(element, 'animationend', function () {\r\n      animateClasses.forEach((cssClass) => element.classList.remove(cssClass))\r\n    })\r\n\r\n    if (callBack) {\r\n      DOMEventHandlerUtil.one(element, 'animationend', callBack)\r\n    }\r\n  }\r\n\r\n  public static transitionEnd(element: HTMLElement, callBack: Function) {\r\n    DOMEventHandlerUtil.one(element, 'transitionend', callBack)\r\n  }\r\n\r\n  public static animationEnd(element: HTMLElement, callBack: Function) {\r\n    DOMEventHandlerUtil.one(element, 'animationend', callBack)\r\n  }\r\n\r\n  public static animationDelay(element: HTMLElement, value: string) {\r\n    ElementStyleUtil.set(element, 'animation-delay', value)\r\n  }\r\n\r\n  public static animationDuration(element: HTMLElement, value: string) {\r\n    ElementStyleUtil.set(element, 'animation-duration', value)\r\n  }\r\n\r\n  public static scrollTo(element: HTMLElement | null, offset: number, duration: number = 500) {\r\n    let targetPos = element ? getElementOffset(element).top : 0\r\n    let scrollPos =\r\n      window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\r\n\r\n    if (offset) {\r\n      scrollPos += offset\r\n      targetPos = targetPos - offset\r\n    }\r\n\r\n    const from = scrollPos\r\n    const to = targetPos\r\n\r\n    ElementAnimateUtil.animate(from, to, duration, function (value: number) {\r\n      document.documentElement.scrollTop = value\r\n      // document.body.parentNode.scrollTop = value;\r\n      document.body.scrollTop = value\r\n    }) //, easing, done\r\n  }\r\n\r\n  public static scrollTop(offset: number, duration: number) {\r\n    ElementAnimateUtil.scrollTo(null, offset, duration)\r\n  }\r\n\r\n  public static slide(el: HTMLElement, dir: string, speed: number, callback: any) {\r\n    if (\r\n      !el ||\r\n      (dir === 'up' && isVisibleElement(el) === false) ||\r\n      (dir === 'down' && isVisibleElement(el) === true)\r\n    ) {\r\n      return;\r\n    }\r\n  \r\n    speed = speed ? speed : 600;\r\n    let calcHeight = getElementActualHeight(el);\r\n    let calcPaddingTop: number = 0;\r\n    let calcPaddingBottom: number = 0;\r\n  \r\n    if (\r\n      ElementStyleUtil.get(el, 'padding-top') &&\r\n      DataUtil.get(el, 'slide-padding-top') !== true\r\n    ) {\r\n      DataUtil.set(\r\n        el,\r\n        'slide-padding-top',\r\n        ElementStyleUtil.get(el, 'padding-top')\r\n      );\r\n    }\r\n  \r\n    if (\r\n      ElementStyleUtil.get(el, 'padding-bottom') &&\r\n      DataUtil.has(el, 'slide-padding-bottom') !== true\r\n    ) {\r\n      DataUtil.set(\r\n        el,\r\n        'slide-padding-bottom',\r\n        ElementStyleUtil.get(el, 'padding-bottom')\r\n      );\r\n    }\r\n  \r\n    if (DataUtil.has(el, 'slide-padding-top')) {\r\n      calcPaddingTop = parseInt(DataUtil.get(el, 'slide-padding-top'));\r\n    }\r\n  \r\n    if (DataUtil.has(el, 'slide-padding-bottom')) {\r\n      calcPaddingBottom = parseInt(DataUtil.get(el, 'slide-padding-bottom'));\r\n    }\r\n  \r\n    if (dir === 'up') {\r\n      // up\r\n      el.style.cssText = 'display: block; overflow: hidden;';\r\n  \r\n      if (calcPaddingTop) {\r\n        ElementAnimateUtil.animate(\r\n          0,\r\n          calcPaddingTop,\r\n          speed,\r\n          function (value: number) {\r\n            el.style.paddingTop = calcPaddingTop - value + 'px';\r\n          }\r\n        );\r\n      }\r\n  \r\n      if (calcPaddingBottom) {\r\n        ElementAnimateUtil.animate(\r\n          0,\r\n          calcPaddingBottom,\r\n          speed,\r\n          function (value: number) {\r\n            el.style.paddingBottom = calcPaddingBottom - value + 'px';\r\n          }\r\n        );\r\n      }\r\n  \r\n      ElementAnimateUtil.animate(\r\n        0,\r\n        calcHeight || 0,\r\n        speed,\r\n        function (value: number) {\r\n          el.style.height = (calcHeight || 0) - value + 'px';\r\n        },\r\n        function () {\r\n          el.style.height = '';\r\n          el.style.display = 'none';\r\n  \r\n          if (typeof callback === 'function') {\r\n            callback();\r\n          }\r\n        }\r\n      );\r\n    } else if (dir === 'down') {\r\n      // down\r\n      el.style.cssText = 'display: block; overflow: hidden;';\r\n  \r\n      if (calcPaddingTop) {\r\n        ElementAnimateUtil.animate(\r\n          0,\r\n          calcPaddingTop,\r\n          speed,\r\n          function (value: number) {\r\n            //\r\n            el.style.paddingTop = value + 'px';\r\n          },\r\n          function () {\r\n            el.style.paddingTop = '';\r\n          }\r\n        );\r\n      }\r\n  \r\n      if (calcPaddingBottom) {\r\n        ElementAnimateUtil.animate(\r\n          0,\r\n          calcPaddingBottom,\r\n          speed,\r\n          function (value: number) {\r\n            el.style.paddingBottom = value + 'px';\r\n          },\r\n          function () {\r\n            el.style.paddingBottom = '';\r\n          }\r\n        );\r\n      }\r\n  \r\n      ElementAnimateUtil.animate(\r\n        0,\r\n        calcHeight || 0,\r\n        speed,\r\n        function (value: number) {\r\n          el.style.height = value + 'px';\r\n        },\r\n        function () {\r\n          el.style.height = '';\r\n          el.style.display = '';\r\n          el.style.overflow = '';\r\n  \r\n          if (typeof callback === 'function') {\r\n            callback();\r\n          }\r\n        }\r\n      );\r\n    }\r\n  }\r\n  \r\n  public static slideUp(el: HTMLElement, speed: number, callback: any) {\r\n    ElementAnimateUtil.slide(el, 'up', speed, callback);\r\n  }\r\n  \r\n  public static slideDown(el: HTMLElement, speed: number, callback: any) {\r\n    ElementAnimateUtil.slide(el, 'down', speed, callback);\r\n  }\r\n}\r\n","import { createPopper, VirtualElement } from '@popperjs/core'\r\n\r\nimport { getAttributeValueByBreakpoint, getElementChild, getElementParents, getHighestZindex, insertAfterElement, throttle } from \"../_utils/DomHelpers\"\r\nimport { EventHandlerUtil } from \"../_utils/EventHandlerUtil\"\r\nimport { DataUtil } from \"../_utils/_DataUtil\"\r\nimport { DOMEventHandlerUtil } from \"../_utils/_DOMEventHandlerUtil\"\r\nimport { ElementStyleUtil } from \"../_utils/_ElementStyleUtil\"\r\nimport { getUniqueIdWithPrefix } from \"../_utils/_TypesHelpers\"\r\nimport { ElementAnimateUtil } from '../_utils/ElementAnimateUtil'\r\n\r\nexport interface MenuOptions {\r\n  dropdown: {\r\n    hoverTimeout: number\r\n    zindex: number\r\n  }\r\n  accordion: {\r\n    slideSpeed: number\r\n    expand: boolean\r\n  }\r\n}\r\n\r\nconst defaultMenuOptions: MenuOptions = {\r\n  dropdown: {\r\n    hoverTimeout: 200,\r\n    zindex: 105,\r\n  },\r\n  accordion: {\r\n    slideSpeed: 250,\r\n    expand: false,\r\n  },\r\n}\r\n\r\ntype PopperPlacement =\r\n  | 'right'\r\n  | 'auto'\r\n  | 'auto-start'\r\n  | 'auto-end'\r\n  | 'top'\r\n  | 'bottom'\r\n  | 'left'\r\n  | 'top-start'\r\n  | 'top-end'\r\n  | 'bottom-start'\r\n  | 'bottom-end'\r\n  | 'right-start'\r\n  | 'right-end'\r\n  | 'left-start'\r\n  | 'left-end'\r\n  | undefined\r\n\r\nclass MenuComponent {\r\n  element: HTMLElement\r\n  options: MenuOptions\r\n  instanceUid: string\r\n  triggerElement: HTMLElement | null = null\r\n\r\n  constructor(_element: HTMLElement, options: MenuOptions) {\r\n    this.element = _element\r\n    this.options = Object.assign(defaultMenuOptions, options)\r\n    this.instanceUid = getUniqueIdWithPrefix('menu')\r\n    // this.element.setAttribute('data-kt-menu', 'true')\r\n    this._setTriggerElement()\r\n    this._update()\r\n    DataUtil.set(this.element, 'menu', this)\r\n    return this\r\n  }\r\n\r\n  // Set external trigger element\r\n  private _setTriggerElement = () => {\r\n    const target = document.querySelector(\r\n      `[data-kt-menu-target=\"#${this.element.getAttribute('id')}\"`\r\n    )\r\n\r\n    if (target) {\r\n      this.triggerElement = target as HTMLElement\r\n    } else if (this.element.closest('[data-kt-menu-trigger]')) {\r\n      this.triggerElement = this.element.closest('[data-kt-menu-trigger]') as HTMLElement\r\n    } else if (\r\n      this.element.parentNode &&\r\n      getElementChild(this.element.parentNode as HTMLElement, '[data-kt-menu-trigger]')\r\n    ) {\r\n      const child = getElementChild(\r\n        this.element.parentNode as HTMLElement,\r\n        '[data-kt-menu-trigger]'\r\n      )\r\n      if (child) {\r\n        this.triggerElement = child\r\n      }\r\n    }\r\n\r\n    if (this.triggerElement) {\r\n      DataUtil.set(this.triggerElement, 'menu', this)\r\n    }\r\n  }\r\n\r\n  // Test if menu has external trigger element\r\n  private _isTriggerElement = (item: HTMLElement) => {\r\n    return this.triggerElement === item\r\n  }\r\n\r\n  // Get item option(through html attributes)\r\n  private _getItemOption = (item: HTMLElement, name: string) => {\r\n    let value = null\r\n    if (item && item.hasAttribute('data-kt-menu-' + name)) {\r\n      const attr = item.getAttribute('data-kt-menu-' + name) || ''\r\n      value = getAttributeValueByBreakpoint(attr)\r\n      if (value !== null && String(value) === 'true') {\r\n        value = true\r\n      } else if (value !== null && String(value) === 'false') {\r\n        value = false\r\n      }\r\n    }\r\n    return value\r\n  }\r\n\r\n  // Get item element\r\n  private _getItemElement = (_element: HTMLElement) => {\r\n    // Element is the external trigger element\r\n    if (this._isTriggerElement(_element)) {\r\n      return _element\r\n    }\r\n\r\n    // Element has item toggler attribute\r\n    if (_element.hasAttribute('data-kt-menu-trigger')) {\r\n      return _element\r\n    }\r\n\r\n    // Element has item DOM reference in it's data storage\r\n    const itemElement = DataUtil.get(_element, 'item')\r\n    if (itemElement) {\r\n      return itemElement\r\n    }\r\n\r\n    // Item is parent of element\r\n    const item = _element.closest('.menu-item[data-kt-menu-trigger]')\r\n    if (item) {\r\n      return item\r\n    }\r\n\r\n    // Element's parent has item DOM reference in it's data storage\r\n    const sub = _element.closest('.menu-sub')\r\n    if (sub) {\r\n      const subItem = DataUtil.get(sub as HTMLElement, 'item')\r\n      if (subItem) {\r\n        return subItem\r\n      }\r\n    }\r\n  }\r\n\r\n  // Get item parent element\r\n  private _getItemParentElement = (item: HTMLElement) => {\r\n    const sub = item.closest('.menu-sub')\r\n    if (!sub) {\r\n      return null\r\n    }\r\n\r\n    const subItem = DataUtil.get(sub as HTMLElement, 'item')\r\n    if (subItem) {\r\n      return subItem\r\n    }\r\n\r\n    const parentItem = sub.closest('.menu-item[data-kt-menu-trigger]')\r\n    if (sub && parentItem) {\r\n      return parentItem\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  // Get item parent elements\r\n  private _getItemParentElements = (item: HTMLElement) => {\r\n    const parents = []\r\n    let parent\r\n    let i = 0\r\n    let buffer = item\r\n\r\n    do {\r\n      parent = this._getItemParentElement(buffer)\r\n      if (parent) {\r\n        parents.push(parent)\r\n        buffer = parent\r\n      }\r\n\r\n      i++\r\n    } while (parent !== null && i < 20)\r\n\r\n    if (this.triggerElement) {\r\n      parents.unshift(this.triggerElement)\r\n    }\r\n\r\n    return parents\r\n  }\r\n\r\n  // Prepare popper config for dropdown(see: https://popper.js.org/docs/v2/)\r\n  private _getDropdownPopperConfig = (item: HTMLElement) => {\r\n    // Placement\r\n    const placementOption = this._getItemOption(item, 'placement')\r\n    let placement: PopperPlacement = 'right'\r\n    if (placementOption) {\r\n      placement = placementOption as PopperPlacement\r\n    }\r\n\r\n    // Flip\r\n    const flipValue = this._getItemOption(item, 'flip')\r\n    const flip = flipValue ? flipValue.toString().split(',') : []\r\n\r\n    // Offset\r\n    const offsetValue = this._getItemOption(item, 'offset')\r\n    const offset = offsetValue ? offsetValue.toString().split(',') : []\r\n\r\n    // Strategy\r\n    const strategy: 'absolute' | 'fixed' | undefined =\r\n      this._getItemOption(item, 'overflow') === true ? 'absolute' : 'fixed'\r\n\r\n    var altAxis = this._getItemOption(item, 'flip') !== false;\r\n\r\n    return {\r\n      placement: placement,\r\n      strategy: strategy,\r\n      modifiers: [{\r\n        name: 'offset',\r\n        options: {\r\n          offset: offset\r\n        }\r\n      }, {\r\n        name: 'preventOverflow',\r\n        options: {\r\n          altAxis: altAxis\r\n        }\r\n      }, {\r\n        name: 'flip',\r\n        options: {\r\n          flipVariations: false\r\n        }\r\n      }]\r\n    };\r\n  }\r\n\r\n  // Get item child element\r\n  private _getItemChildElement = (item: HTMLElement) => {\r\n    let selector = item\r\n\r\n    const subItem = DataUtil.get(item, 'sub')\r\n    if (subItem) {\r\n      selector = subItem\r\n    }\r\n\r\n    if (selector) {\r\n      //element = selector.querySelector('.show.menu-item[data-kt-menu-trigger]');\r\n      const element = selector.querySelector('.menu-item[data-kt-menu-trigger]')\r\n      if (element) {\r\n        return element\r\n      }\r\n    }\r\n    return null\r\n  }\r\n\r\n  // Get item child elements\r\n  private _getItemChildElements = (item: HTMLElement) => {\r\n    const children = []\r\n    let child\r\n    let i = 0\r\n    let buffer = item\r\n    do {\r\n      child = this._getItemChildElement(buffer)\r\n      if (child) {\r\n        children.push(child)\r\n        buffer = child as HTMLElement\r\n      }\r\n\r\n      i++\r\n    } while (child !== null && i < 20)\r\n\r\n    return children\r\n  }\r\n\r\n  // Get item sub element\r\n  private _getItemSubElement = (item: HTMLElement) => {\r\n    if (!item) {\r\n      return null\r\n    }\r\n\r\n    if (this._isTriggerElement(item)) {\r\n      return this.element\r\n    }\r\n\r\n    if (item.classList.contains('menu-sub')) {\r\n      return item\r\n    } else if (DataUtil.has(item, 'sub')) {\r\n      return DataUtil.get(item, 'sub')\r\n    } else {\r\n      return getElementChild(item, '.menu-sub')\r\n    }\r\n  }\r\n\r\n  private _getCss = (el: HTMLElement, styleProp: string) => {\r\n    const defaultView = (el.ownerDocument || document).defaultView\r\n    if (!defaultView) {\r\n      return ''\r\n    }\r\n\r\n    // sanitize property name to css notation\r\n    // (hyphen separated words eg. font-Size)\r\n    styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n\r\n    return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp)\r\n  }\r\n\r\n  // Get item sub type\r\n  private _getItemSubType = (element: HTMLElement) => {\r\n    const sub = this._getItemSubElement(element)\r\n    if (sub && parseInt(this._getCss(sub, 'z-index')) > 0) {\r\n      return 'dropdown'\r\n    } else {\r\n      return 'accordion'\r\n    }\r\n  }\r\n\r\n  // Test if item's sub is shown\r\n  private _isItemSubShown = (item: HTMLElement) => {\r\n    let sub = this._getItemSubElement(item)\r\n    if (sub) {\r\n      if (this._getItemSubType(item) === 'dropdown') {\r\n        return sub.classList.contains('show') && sub.hasAttribute('data-popper-placement')\r\n      } else {\r\n        return item.classList.contains('show')\r\n      }\r\n    }\r\n\r\n    return false\r\n  }\r\n\r\n  // Test if item dropdown is permanent\r\n  private _isItemDropdownPermanent = (item: HTMLElement) => {\r\n    return this._getItemOption(item, 'permanent') === true\r\n  }\r\n\r\n  // Test if item's parent is shown\r\n  private _isItemParentShown = (item: HTMLElement) => {\r\n    return getElementParents(item, '.menu-item.show').length > 0\r\n  }\r\n\r\n  // Test of it is item sub element\r\n  private _isItemSubElement = (item: HTMLElement) => {\r\n    return item.classList.contains('menu-sub')\r\n  }\r\n\r\n  // Test if item has sub\r\n  private _hasItemSub = (item: HTMLElement) => {\r\n    return item.classList.contains('menu-item') && item.hasAttribute('data-kt-menu-trigger')\r\n  }\r\n\r\n  // Get link element\r\n  private _getItemLinkElement = (item: HTMLElement) => {\r\n    return getElementChild(item, '.menu-link')\r\n  }\r\n\r\n  // Get toggle element\r\n  private _getItemToggleElement = (item: HTMLElement) => {\r\n    if (this.triggerElement) {\r\n      return this.triggerElement\r\n    }\r\n\r\n    return this._getItemLinkElement(item)\r\n  }\r\n\r\n  // Show item dropdown\r\n  private _showDropdown = (item: HTMLElement) => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.show') === false) {\r\n      return\r\n    }\r\n\r\n    // Hide all currently shown dropdowns except current one\r\n    MenuComponent.hideDropdowns(item)\r\n\r\n    // const toggle = this._isTriggerElement(item) ? item : this._getItemLinkElement(item);\r\n    const sub = this._getItemSubElement(item)\r\n    const width = this._getItemOption(item, 'width')\r\n    const height = this._getItemOption(item, 'height')\r\n\r\n    let zindex = this.options.dropdown.zindex\r\n    const parentZindex = getHighestZindex(item) // update\r\n    // Apply a new z-index if dropdown's toggle element or it's parent has greater z-index // update\r\n    if (parentZindex !== null && parentZindex >= zindex) {\r\n      zindex = parentZindex + 1\r\n    }\r\n\r\n    if (zindex) {\r\n      ElementStyleUtil.set(sub, 'z-index', zindex)\r\n    }\r\n\r\n    if (width) {\r\n      ElementStyleUtil.set(sub, 'width', width)\r\n    }\r\n\r\n    if (height) {\r\n      ElementStyleUtil.set(sub, 'height', height)\r\n    }\r\n\r\n    this.initDropdownPopper(item, sub)\r\n\r\n    item.classList.add('show')\r\n    item.classList.add('menu-dropdown')\r\n    sub.classList.add('show')\r\n\r\n    // Append the sub the the root of the menu\r\n    if (this._getItemOption(item, 'overflow') === true) {\r\n      document.body.appendChild(sub)\r\n      DataUtil.set(item, 'sub', sub)\r\n      DataUtil.set(sub, 'item', item)\r\n      DataUtil.set(sub, 'menu', this)\r\n    } else {\r\n      DataUtil.set(sub, 'item', item)\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.shown')\r\n  }\r\n\r\n  // Init dropdown popper(new)\r\n  private initDropdownPopper = (item: HTMLElement, sub: HTMLElement) => {\r\n    // Setup popper instance\r\n    let reference\r\n    const attach = this._getItemOption(item, 'attach') as string\r\n\r\n    if (attach) {\r\n      if (attach === 'parent') {\r\n        reference = item.parentNode\r\n      } else {\r\n        reference = document.querySelector(attach)\r\n      }\r\n    } else {\r\n      reference = item\r\n    }\r\n\r\n    if (reference) {\r\n      const popper = createPopper(\r\n        reference as Element | VirtualElement,\r\n        sub,\r\n        this._getDropdownPopperConfig(item)\r\n      )\r\n      DataUtil.set(item, 'popper', popper)\r\n    }\r\n  }\r\n\r\n  // Hide item dropdown\r\n  private _hideDropdown = (item: HTMLElement) => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hide') === false) {\r\n      return\r\n    }\r\n\r\n    const sub = this._getItemSubElement(item)\r\n    ElementStyleUtil.set(sub, 'z-index', '')\r\n    ElementStyleUtil.set(sub, 'width', '')\r\n    ElementStyleUtil.set(sub, 'height', '')\r\n    item.classList.remove('show')\r\n    item.classList.remove('menu-dropdown')\r\n    sub.classList.remove('show')\r\n\r\n    // Append the sub back to it's parent\r\n    if (this._getItemOption(item, 'overflow') === true) {\r\n      if (item.classList.contains('menu-item')) {\r\n        item.appendChild(sub)\r\n      } else {\r\n        insertAfterElement(this.element, item)\r\n      }\r\n\r\n      DataUtil.remove(item, 'sub')\r\n      DataUtil.remove(sub, 'item')\r\n      DataUtil.remove(sub, 'menu')\r\n    }\r\n\r\n    if (DataUtil.has(item, 'popper') === true) {\r\n      DataUtil.get(item, 'popper').destroy()\r\n      DataUtil.remove(item, 'popper')\r\n    }\r\n\r\n    // Destroy popper(new)\r\n    this.destroyDropdownPopper(item)\r\n    EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden')\r\n  }\r\n\r\n  // Destroy dropdown popper(new)\r\n  private destroyDropdownPopper = (item: HTMLElement) => {\r\n    if (DataUtil.has(item, 'popper') === true) {\r\n      DataUtil.get(item, 'popper').destroy()\r\n      DataUtil.remove(item, 'popper')\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.menu.dropdown.hidden')\r\n  }\r\n\r\n  private _showAccordion = (item: HTMLElement) => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.show') === false) {\r\n      return\r\n    }\r\n\r\n    if (this.options.accordion.expand === false) {\r\n      this._hideAccordions(item)\r\n    }\r\n\r\n    if (DataUtil.has(item, 'popper') === true) {\r\n      this._hideDropdown(item)\r\n    }\r\n\r\n    item.classList.add('hover') // updateWW\r\n    item.classList.add('showing')\r\n\r\n    const subElement = this._getItemSubElement(item)\r\n    if (subElement) {\r\n      const sub = subElement as HTMLElement\r\n      ElementAnimateUtil.slideDown(sub, this.options.accordion.slideSpeed, () => {\r\n        item.classList.remove('showing')\r\n        item.classList.add('show')\r\n        sub.classList.add('show')\r\n        EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.shown')\r\n      })\r\n    }\r\n  }\r\n\r\n  private _hideAccordion = (item: HTMLElement) => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hide') === false) {\r\n      return\r\n    }\r\n\r\n    const sub = this._getItemSubElement(item)\r\n    item.classList.add('hiding')\r\n\r\n    if (sub) {\r\n      ElementAnimateUtil.slideUp(sub, this.options.accordion.slideSpeed, () => {\r\n        item.classList.remove('hiding')\r\n        item.classList.remove('show')\r\n        sub.classList.remove('show')\r\n        item.classList.remove('hover') // update\r\n        EventHandlerUtil.trigger(this.element, 'kt.menu.accordion.hidden')\r\n      })\r\n    }\r\n  }\r\n\r\n  // Hide all shown accordions of item\r\n  private _hideAccordions = (item: HTMLElement) => {\r\n    const itemsToHide = this.element.querySelectorAll('.show[data-kt-menu-trigger]')\r\n    if (itemsToHide && itemsToHide.length > 0) {\r\n      for (var i = 0, len = itemsToHide.length; i < len; i++) {\r\n        const itemToHide = itemsToHide[i] as HTMLElement\r\n\r\n        if (\r\n          this._getItemSubType(itemToHide) === 'accordion' &&\r\n          itemToHide !== item &&\r\n          item.contains(itemToHide) === false &&\r\n          itemToHide.contains(item) === false\r\n        ) {\r\n          this._hideAccordion(itemToHide)\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  // Event Handlers\r\n  // Reset item state classes if item sub type changed\r\n  private _reset = (item: HTMLElement) => {\r\n    if (this._hasItemSub(item) === false) {\r\n      return\r\n    }\r\n\r\n    const sub = this._getItemSubElement(item)\r\n\r\n    // Reset sub state if sub type is changed during the window resize\r\n    if (DataUtil.has(item, 'type') && DataUtil.get(item, 'type') !== this._getItemSubType(item)) {\r\n      // updated\r\n      item.classList.remove('hover')\r\n      item.classList.remove('show')\r\n      item.classList.remove('show')\r\n      if (sub && sub.removeClass) {\r\n        sub.removeClass(sub, 'show')\r\n      }\r\n    } // updated\r\n  }\r\n\r\n  // TODO: not done\r\n  private _destroy = () => {}\r\n\r\n  // Update all item state classes if item sub type changed\r\n  private _update = () => {\r\n    const items = this.element.querySelectorAll('.menu-item[data-kt-menu-trigger]')\r\n    items.forEach((el) => this._reset(el as HTMLElement))\r\n  }\r\n\r\n  // Hide item sub\r\n  private _hide = (item: HTMLElement) => {\r\n    if (!item) {\r\n      return\r\n    }\r\n\r\n    if (this._isItemSubShown(item) === false) {\r\n      return\r\n    }\r\n\r\n    if (this._getItemSubType(item) === 'dropdown') {\r\n      this._hideDropdown(item)\r\n    } else if (this._getItemSubType(item) === 'accordion') {\r\n      this._hideAccordion(item)\r\n    }\r\n  }\r\n\r\n  // Show item sub\r\n  private _show = (item: HTMLElement) => {\r\n    if (!item) {\r\n      return\r\n    }\r\n\r\n    if (this._isItemSubShown(item) === true) {\r\n      return\r\n    }\r\n\r\n    if (this._getItemSubType(item) === 'dropdown') {\r\n      this._showDropdown(item) // // show current dropdown\r\n    } else if (this._getItemSubType(item) === 'accordion') {\r\n      this._showAccordion(item)\r\n    }\r\n\r\n    // Remember last submenu type\r\n\r\n    DataUtil.set(item, 'type', this._getItemSubType(item)) // updated\r\n  }\r\n\r\n  // Toggle item sub\r\n  private _toggle = (item: HTMLElement) => {\r\n    if (!item) {\r\n      return\r\n    }\r\n\r\n    if (this._isItemSubShown(item) === true) {\r\n      this._hide(item)\r\n    } else {\r\n      this._show(item)\r\n    }\r\n  }\r\n\r\n  // Mouseout handle\r\n  private _mouseout = (element: HTMLElement, e: MouseEvent) => {\r\n    const item = this._getItemElement(element)\r\n    if (!item) {\r\n      return\r\n    }\r\n\r\n    if (this._getItemOption(item, 'trigger') !== 'hover') {\r\n      return\r\n    }\r\n\r\n    const timeout = setTimeout(() => {\r\n      if (DataUtil.get(item, 'hover') === '1') {\r\n        this._hide(item)\r\n      }\r\n    }, this.options.dropdown.hoverTimeout)\r\n\r\n    DataUtil.set(item, 'hover', '1')\r\n    DataUtil.set(item, 'timeout', timeout)\r\n  }\r\n\r\n  // Mouseover handle\r\n  private _mouseover = (element: HTMLElement, e: MouseEvent) => {\r\n    const item = this._getItemElement(element)\r\n    if (!item) {\r\n      return\r\n    }\r\n\r\n    if (this._getItemOption(item, 'trigger') !== 'hover') {\r\n      return\r\n    }\r\n\r\n    if (DataUtil.get(item, 'hover') === '1') {\r\n      clearTimeout(DataUtil.get(item, 'timeout'))\r\n      DataUtil.remove(item, 'hover')\r\n      DataUtil.remove(item, 'timeout')\r\n    }\r\n\r\n    this._show(item)\r\n  }\r\n\r\n  // Dismiss handler\r\n  private _dismiss = (element: HTMLElement, e: Event) => {\r\n    const item = this._getItemElement(element)\r\n    const items = this._getItemChildElements(item)\r\n    //if ( item !== null && _getItemOption(item, 'trigger') === 'click' &&  _getItemSubType(item) === 'dropdown' ) {\r\n    const itemSubType = this._getItemSubType(item)\r\n    if (item !== null && itemSubType === 'dropdown') {\r\n      this._hide(item) // hide items dropdown\r\n\r\n      // Hide all child elements as well\r\n      if (items.length > 0) {\r\n        for (let i = 0, len = items.length; i < len; i++) {\r\n          //if ( _getItemOption(item, 'trigger') === 'click' &&  _getItemSubType(item) === 'dropdown' ) {\r\n          if (items[i] !== null && this._getItemSubType(items[i] as HTMLElement) === 'dropdown') {\r\n            this._hide(items[i] as HTMLElement)\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  // Link handler\r\n  private _link = (element: HTMLElement, e: Event) => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.menu.link.click') === false) {\r\n      return\r\n    }\r\n\r\n    // Dismiss all shown dropdowns\r\n    MenuComponent.hideDropdowns(undefined)\r\n    EventHandlerUtil.trigger(this.element, 'kt.menu.link.clicked')\r\n  }\r\n\r\n  private _click = (element: HTMLElement, e: Event) => {\r\n    e.preventDefault()\r\n    const item = this._getItemElement(element)\r\n    if (this._getItemOption(item, 'trigger') !== 'click') {\r\n      return\r\n    }\r\n\r\n    if (this._getItemOption(item, 'toggle') === false) {\r\n      this._show(item)\r\n    } else {\r\n      this._toggle(item)\r\n    }\r\n  }\r\n\r\n  ///////////////////////\r\n  // ** Public API  ** //\r\n  ///////////////////////\r\n  public click = (element: HTMLElement, e: Event) => {\r\n    return this._click(element, e)\r\n  }\r\n\r\n  public link = (element: HTMLElement, e: Event) => {\r\n    return this._link(element, e)\r\n  }\r\n\r\n  public dismiss = (element: HTMLElement, e: Event) => {\r\n    return this._dismiss(element, e)\r\n  }\r\n\r\n  public mouseover = (element: HTMLElement, e: Event) => {\r\n    return this._mouseover(element, e as MouseEvent)\r\n  }\r\n\r\n  public mouseout = (element: HTMLElement, e: Event) => {\r\n    return this._mouseout(element, e as MouseEvent)\r\n  }\r\n\r\n  // General Methods\r\n  public getItemTriggerType = (item: HTMLElement) => {\r\n    return this._getItemOption(item, 'trigger')\r\n  }\r\n\r\n  public getItemSubType = (element: HTMLElement) => {\r\n    return this._getItemSubType(element)\r\n  }\r\n\r\n  public show = (item: HTMLElement) => {\r\n    return this._show(item)\r\n  }\r\n\r\n  public hide = (item: HTMLElement) => {\r\n    return this._hide(item)\r\n  }\r\n\r\n  public reset = (item: HTMLElement) => {\r\n    return this._reset(item)\r\n  }\r\n\r\n  public update = () => {\r\n    return this._update()\r\n  }\r\n\r\n  public getElement = () => {\r\n    return this.element\r\n  }\r\n\r\n  public getItemLinkElement = (item: HTMLElement) => {\r\n    return this._getItemLinkElement(item)\r\n  }\r\n\r\n  public getItemToggleElement = (item: HTMLElement) => {\r\n    return this._getItemToggleElement(item)\r\n  }\r\n\r\n  public getItemSubElement = (item: HTMLElement) => {\r\n    return this._getItemSubElement(item)\r\n  }\r\n\r\n  public getItemParentElements = (item: HTMLElement) => {\r\n    return this._getItemParentElements(item)\r\n  }\r\n\r\n  public isItemSubShown = (item: HTMLElement) => {\r\n    return this._isItemSubShown(item)\r\n  }\r\n\r\n  public isItemParentShown = (item: HTMLElement) => {\r\n    return this._isItemParentShown(item)\r\n  }\r\n\r\n  public getTriggerElement = () => {\r\n    return this.triggerElement\r\n  }\r\n\r\n  public isItemDropdownPermanent = (item: HTMLElement) => {\r\n    return this._isItemDropdownPermanent(item)\r\n  }\r\n\r\n  // Accordion Mode Methods\r\n  public hideAccordions = (item: HTMLElement) => {\r\n    return this._hideAccordions(item)\r\n  }\r\n\r\n  // Event API\r\n  public on = (name: string, handler: any) => {\r\n    return EventHandlerUtil.on(this.element, name, handler)\r\n  }\r\n\r\n  public one = (name: string, handler: any) => {\r\n    return EventHandlerUtil.one(this.element, name, handler)\r\n  }\r\n\r\n  public off = (name: string) => {\r\n    return EventHandlerUtil.off(this.element, name)\r\n  }\r\n\r\n  // public static methods\r\n  // Get KTMenu instance by element\r\n  public static getInstance = (element: HTMLElement) => {\r\n    // Element has menu DOM reference in it's DATA storage\r\n    const elementMenu = DataUtil.get(element, 'menu')\r\n    if (elementMenu) {\r\n      return elementMenu\r\n    }\r\n\r\n    // Element has .menu parent\r\n    const menu = element.closest('.menu')\r\n    if (menu) {\r\n      const menuData = DataUtil.get(menu as HTMLElement, 'menu')\r\n      if (menuData) {\r\n        return menuData\r\n      }\r\n    }\r\n\r\n    // Element has a parent with DOM reference to .menu in it's DATA storage\r\n    if (element.classList.contains('menu-link')) {\r\n      const sub = element.closest('.menu-sub')\r\n      if (sub) {\r\n        const subMenu = DataUtil.get(sub as HTMLElement, 'menu')\r\n        if (subMenu) {\r\n          return subMenu\r\n        }\r\n      }\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  // Hide all dropdowns and skip one if provided\r\n  public static hideDropdowns = (skip: HTMLElement | undefined) => {\r\n    const items = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]')\r\n\r\n    if (items && items.length > 0) {\r\n      for (let i = 0, len = items.length; i < len; i++) {\r\n        const item = items[i]\r\n        const menu = MenuComponent.getInstance(item as HTMLElement)\r\n\r\n        if (menu && menu.getItemSubType(item) === 'dropdown') {\r\n          if (skip) {\r\n            if (\r\n              menu.getItemSubElement(item).contains(skip) === false &&\r\n              item.contains(skip) === false &&\r\n              item !== skip\r\n            ) {\r\n              menu.hide(item)\r\n            }\r\n          } else {\r\n            menu.hide(item)\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  public static updateDropdowns = () => {\r\n    const items = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]')\r\n    if (items && items.length > 0) {\r\n      for (var i = 0, len = items.length; i < len; i++) {\r\n        var item = items[i]\r\n\r\n        if (DataUtil.has(item as HTMLElement, 'popper')) {\r\n          DataUtil.get(item as HTMLElement, 'popper').forceUpdate()\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  // Global handlers\r\n  public static createInstances = (selector: string) => {\r\n    // Initialize menus\r\n    document.querySelectorAll(selector).forEach((el) => {\r\n      const menuItem = el as HTMLElement\r\n      let menuInstance = MenuComponent.getInstance(menuItem)\r\n      if (!menuInstance) {\r\n        menuInstance = new MenuComponent(el as HTMLElement, defaultMenuOptions)\r\n      }\r\n    })\r\n  }\r\n\r\n  public static initGlobalHandlers = () => {\r\n    // Dropdown handler\r\n    document.addEventListener('click', (e) => {\r\n      const menuItems = document.querySelectorAll('.show.menu-dropdown[data-kt-menu-trigger]')\r\n      if (menuItems && menuItems.length > 0) {\r\n        for (let i = 0; i < menuItems.length; i++) {\r\n          const item = menuItems[i] as HTMLElement\r\n          const menuObj = MenuComponent.getInstance(item) as MenuComponent\r\n          if (menuObj && menuObj.getItemSubType(item) === 'dropdown') {\r\n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n            const menu = menuObj.getElement()\r\n            const sub = menuObj.getItemSubElement(item) as HTMLElement\r\n            if (item === e.target || item.contains(e.target as HTMLElement)) {\r\n              continue\r\n            }\r\n\r\n            if (sub && (sub === e.target || sub.contains(e.target as HTMLElement))) {\r\n              continue\r\n            }\r\n            menuObj.hide(item)\r\n          }\r\n        }\r\n      }\r\n    })\r\n\r\n    // Sub toggle handler\r\n    DOMEventHandlerUtil.on(\r\n      document.body,\r\n      '.menu-item[data-kt-menu-trigger] > .menu-link, [data-kt-menu-trigger]:not(.menu-item):not([data-kt-menu-trigger=\"auto\"])',\r\n      'click',\r\n      function (this: HTMLElement, e: Event) {\r\n        const menu = MenuComponent.getInstance(this) as MenuComponent\r\n        if (menu) {\r\n          return menu.click(this, e)\r\n        }\r\n      }\r\n    )\r\n\r\n    // // Link handler\r\n    DOMEventHandlerUtil.on(\r\n      document.body,\r\n      '.menu-item:not([data-kt-menu-trigger]) > .menu-link',\r\n      'click',\r\n      function (this: HTMLElement, e: Event) {\r\n        e.stopPropagation()\r\n        const menu = MenuComponent.getInstance(this)\r\n        if (menu && menu.link) {\r\n          return menu.link(this, e)\r\n        }\r\n      }\r\n    )\r\n\r\n    // Dismiss handler\r\n    DOMEventHandlerUtil.on(\r\n      document.body,\r\n      '[data-kt-menu-dismiss=\"true\"]',\r\n      'click',\r\n      function (this: HTMLElement, e: Event) {\r\n        const menu = MenuComponent.getInstance(this) as MenuComponent\r\n        if (menu) {\r\n          return menu.dismiss(this, e)\r\n        }\r\n      }\r\n    )\r\n\r\n    // Mouseover handler\r\n    DOMEventHandlerUtil.on(\r\n      document.body,\r\n      '[data-kt-menu-trigger], .menu-sub',\r\n      'mouseover',\r\n      function (this: HTMLElement, e: Event) {\r\n        const menu = MenuComponent.getInstance(this) as MenuComponent\r\n        if (menu && menu.getItemSubType(this) === 'dropdown') {\r\n          return menu.mouseover(this, e)\r\n        }\r\n      }\r\n    )\r\n\r\n    // Mouseout handler\r\n    DOMEventHandlerUtil.on(\r\n      document.body,\r\n      '[data-kt-menu-trigger], .menu-sub',\r\n      'mouseout',\r\n      function (this: HTMLElement, e: Event) {\r\n        const menu = MenuComponent.getInstance(this) as MenuComponent\r\n        if (menu && menu.getItemSubType(this) === 'dropdown') {\r\n          return menu.mouseout(this, e)\r\n        }\r\n      }\r\n    )\r\n\r\n    // Resize handler\r\n    window.addEventListener('resize', () => {\r\n      let timer\r\n      throttle(\r\n        timer,\r\n        () => {\r\n          // Locate and update Drawer instances on window resize\r\n          const elements = document.querySelectorAll('[data-kt-menu=\"true\"]')\r\n          elements.forEach((el) => {\r\n            const menu = MenuComponent.getInstance(el as HTMLElement)\r\n            if (menu) {\r\n              menu.update()\r\n            }\r\n          })\r\n        },\r\n        200\r\n      )\r\n    })\r\n  }\r\n\r\n  public static bootstrap = () => {\r\n    MenuComponent.initGlobalHandlers()\r\n    MenuComponent.createInstances('[data-kt-menu=\"true\"]')\r\n  }\r\n\r\n  public static reinitialization = () => {\r\n    MenuComponent.createInstances('[data-kt-menu=\"true\"]')\r\n  }\r\n\r\n  public static createInsance = (\r\n    selector: string,\r\n    options: MenuOptions = defaultMenuOptions\r\n  ): MenuComponent | undefined => {\r\n    const element = document.body.querySelector(selector)\r\n    if (!element) {\r\n      return\r\n    }\r\n    const item = element as HTMLElement\r\n    let menu = MenuComponent.getInstance(item)\r\n    if (!menu) {\r\n      menu = new MenuComponent(item, options)\r\n    }\r\n    return menu\r\n  }\r\n}\r\n\r\nexport {MenuComponent, defaultMenuOptions}\r\n\r\n","import { getAttributeValueByBreakpoint, getCSS, throttle } from \"../_utils/DomHelpers\"\r\nimport { EventHandlerUtil } from \"../_utils/EventHandlerUtil\"\r\nimport { DataUtil } from \"../_utils/_DataUtil\"\r\nimport { DOMEventHandlerUtil } from \"../_utils/_DOMEventHandlerUtil\"\r\nimport { ElementStyleUtil } from \"../_utils/_ElementStyleUtil\"\r\nimport { getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel } from \"../_utils/_TypesHelpers\"\r\n\r\n\r\nexport interface DrawerOptions {\r\n  overlay: boolean\r\n  baseClass: string\r\n  overlayClass: string\r\n  direction: string\r\n}\r\n\r\nconst defaultDrawerOptions: DrawerOptions = {\r\n  overlay: true,\r\n  baseClass: 'drawer',\r\n  overlayClass: 'drawer-overlay',\r\n  direction: 'end',\r\n}\r\n\r\nclass DrawerComponent {\r\n  element: HTMLElement\r\n  overlayElement: HTMLElement | null = null\r\n  toggleElement: HTMLElement | null = null\r\n  options: DrawerOptions\r\n  instanceUid: string\r\n  name: string = ''\r\n  shown: boolean = false\r\n  lastWidth: number = 0\r\n  closeElement: HTMLElement | null = null\r\n\r\n  constructor(_element: HTMLElement, options: DrawerOptions) {\r\n    this.element = _element\r\n    this.options = Object.assign(defaultDrawerOptions, options)\r\n    this.instanceUid = getUniqueIdWithPrefix('drawer')\r\n    this.overlayElement = null\r\n    this.name = this.element.getAttribute('data-kt-drawer-name') || ''\r\n    this.shown = false\r\n    this.toggleElement = null\r\n    // Event Handlers\r\n    this._handlers()\r\n    // Update Instance\r\n    this._update()\r\n    // Bind Instance\r\n    DataUtil.set(this.element, 'drawer', this)\r\n  }\r\n\r\n  private _handlers = () => {\r\n    const togglers = this._getOption('toggle') as string\r\n    const closers = this._getOption('close') as string\r\n\r\n    if (togglers !== null && togglers.length > 0) {\r\n      DOMEventHandlerUtil.on(document.body, togglers, 'click', (e: Event) => {\r\n        e.preventDefault()\r\n        this.toggleElement = document.getElementById(togglers)\r\n        this._toggle()\r\n      })\r\n    }\r\n\r\n    if (closers !== null && closers.length > 0) {\r\n      DOMEventHandlerUtil.on(document.body, closers, 'click', (e: Event) => {\r\n        e.preventDefault()\r\n        this.closeElement = document.getElementById(closers)\r\n\r\n        this._hide()\r\n      })\r\n    }\r\n  }\r\n\r\n  private _update = () => {\r\n    const width = String(this._getOption('width'))\r\n    const direction = String(this._getOption('direction'))\r\n\r\n    // Reset state\r\n    const hasBaseClass = this.element.classList.contains(`${this.options.baseClass}-on`)\r\n    const bodyCanvasAttr = String(document.body.getAttribute(`data-kt-drawer-${this.name}-`))\r\n\r\n    if (hasBaseClass === true && bodyCanvasAttr === 'on') {\r\n      this.shown = true\r\n    } else {\r\n      this.shown = false\r\n    }\r\n\r\n    // Activate/deactivate\r\n    if (this._getOption('activate') === true) {\r\n      this.element.classList.add(this.options.baseClass)\r\n      this.element.classList.add(`${this.options.baseClass}-${direction}`)\r\n      ElementStyleUtil.set(this.element, 'width', width, true)\r\n\r\n      this.lastWidth = parseInt(width)\r\n    } else {\r\n      ElementStyleUtil.set(this.element, 'width', '')\r\n      this.element.classList.remove(this.options.baseClass)\r\n      this.element.classList.remove(`${this.options.baseClass}-${direction}`)\r\n      this._hide()\r\n    }\r\n  }\r\n\r\n  private _getOption = (name: string) => {\r\n    const attr = this.element.getAttribute(`data-kt-drawer-${name}`)\r\n    if (attr) {\r\n      let value = getAttributeValueByBreakpoint(attr)\r\n      if (value !== null && String(value) === 'true') {\r\n        return true\r\n      } else {\r\n        if (value !== null && String(value) === 'false') {\r\n          return false\r\n        }\r\n      }\r\n\r\n      return value\r\n    } else {\r\n      const optionName = stringSnakeToCamel(name)\r\n      const option = getObjectPropertyValueByKey(this.options, optionName)\r\n      if (option) {\r\n        return getAttributeValueByBreakpoint(option)\r\n      } else {\r\n        return null\r\n      }\r\n    }\r\n  }\r\n\r\n  private _toggle = () => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.drawer.toggle') === false) {\r\n      return\r\n    }\r\n\r\n    if (this.shown) {\r\n      this._hide()\r\n    } else {\r\n      this._show()\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.drawer.toggled')\r\n  }\r\n\r\n  private _hide = () => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.drawer.hide') === false) {\r\n      return\r\n    }\r\n\r\n    this.shown = false\r\n    this._deleteOverlay()\r\n    document.body.removeAttribute(`data-kt-drawer-${this.name}`)\r\n    document.body.removeAttribute(`data-kt-drawer`)\r\n    this.element.classList.remove(`${this.options.baseClass}-on`)\r\n    if (this.toggleElement != null) {\r\n      this.toggleElement.classList.remove('active')\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.drawer.after.hidden')\r\n  }\r\n\r\n  private _show = () => {\r\n    if (EventHandlerUtil.trigger(this.element, 'kt.drawer.show') === false) {\r\n      return\r\n    }\r\n\r\n    this.shown = true\r\n    this._createOverlay()\r\n    document.body.setAttribute(`data-kt-drawer-${this.name}`, 'on')\r\n    document.body.setAttribute('data-kt-drawer', 'on')\r\n    this.element.classList.add(`${this.options.baseClass}-on`)\r\n    if (this.toggleElement !== null) {\r\n      this.toggleElement.classList.add('active')\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.drawer.shown')\r\n  }\r\n\r\n  private _createOverlay = () => {\r\n    if (this._getOption('overlay') === true) {\r\n      this.overlayElement = document.createElement('DIV')\r\n      const elementZIndex = getCSS(this.element, 'z-index')\r\n      if (elementZIndex) {\r\n        const overlayZindex = parseInt(elementZIndex) - 1\r\n        ElementStyleUtil.set(this.overlayElement, 'z-index', overlayZindex) // update\r\n      }\r\n      document.body.append(this.overlayElement)\r\n      const overlayClassOption = this._getOption('overlay-class')\r\n      if (overlayClassOption) {\r\n        this.overlayElement.classList.add(overlayClassOption.toString())\r\n      }\r\n      this.overlayElement.addEventListener('click', (e) => {\r\n        e.preventDefault()\r\n        this._hide()\r\n      })\r\n    }\r\n  }\r\n\r\n  private _deleteOverlay = () => {\r\n    if (this.overlayElement !== null && this.overlayElement.parentNode) {\r\n      this.overlayElement.parentNode.removeChild(this.overlayElement)\r\n    }\r\n  }\r\n\r\n  private _getDirection = () => {\r\n    return String(this._getOption('direction')) === 'left' ? 'left' : 'right'\r\n  }\r\n\r\n  private _getWidth = () => {\r\n    let width = this._getOption('width')\r\n    if (width && width === 'auto') {\r\n      width = getCSS(this.element, 'width')\r\n    }\r\n\r\n    return width\r\n  }\r\n\r\n  ///////////////////////\r\n  // ** Public API  ** //\r\n  ///////////////////////\r\n  public toggle = () => {\r\n    this._toggle()\r\n  }\r\n\r\n  public show = () => {\r\n    this._show()\r\n  }\r\n\r\n  public hide = () => {\r\n    this._hide()\r\n  }\r\n\r\n  public isShown = () => {\r\n    return this.shown\r\n  }\r\n\r\n  public update = () => {\r\n    this._update()\r\n  }\r\n\r\n  public goElement = () => {\r\n    return this.element\r\n  }\r\n\r\n  // Event API\r\n  public on = (name: string, handler: Function) => {\r\n    return EventHandlerUtil.on(this.element, name, handler)\r\n  }\r\n\r\n  public one = (name: string, handler: Function) => {\r\n    return EventHandlerUtil.one(this.element, name, handler)\r\n  }\r\n\r\n  public off = (name: string) => {\r\n    return EventHandlerUtil.off(this.element, name)\r\n  }\r\n\r\n  public trigger = (name: string, event: Event) => {\r\n    return EventHandlerUtil.trigger(this.element, name, event)\r\n  }\r\n\r\n  // Static methods\r\n  public static hasInstace = (element: HTMLElement): boolean => {\r\n    return DataUtil.has(element, 'drawer')\r\n  }\r\n\r\n  public static getInstance = (element: HTMLElement) => {\r\n    return DataUtil.get(element, 'drawer')\r\n  }\r\n\r\n  public static hideAll = () => {\r\n    const oldInstances = DataUtil.getAllInstancesByKey('drawer')\r\n    oldInstances.forEach((dr) => {\r\n      dr.hide()\r\n    })\r\n  }\r\n\r\n  public static updateAll = () => {\r\n    const oldInstances = DataUtil.getAllInstancesByKey('drawer')\r\n    oldInstances.forEach((dr) => {\r\n      dr.update()\r\n    })\r\n  }\r\n\r\n  // Create Instances\r\n  public static createInstances(selector: string): void {\r\n    const elements = document.body.querySelectorAll(selector)\r\n    elements.forEach((element) => {\r\n      const item = element as HTMLElement\r\n      let drawer = DrawerComponent.getInstance(item)\r\n      if (!drawer) {\r\n        drawer = new DrawerComponent(item, defaultDrawerOptions)\r\n      }\r\n      drawer.hide()\r\n    })\r\n  }\r\n\r\n  // Dismiss instances\r\n  public static handleDismiss = () => {\r\n    // External drawer toggle handler\r\n    DOMEventHandlerUtil.on(document.body, '[data-kt-drawer-dismiss=\"true\"]', 'click', () => {\r\n      /* @ts-ignore */\r\n      const element = this.closest('[data-kt-drawer=\"true\"]')\r\n      if (element) {\r\n        const drawer = DrawerComponent.getInstance(element)\r\n        if (drawer && drawer.isShown()) {\r\n          drawer.hide()\r\n        }\r\n      }\r\n    })\r\n  }\r\n\r\n  // Global Initialization\r\n  public static initGlobalHandlers(): void {\r\n    // Window Resize Handling\r\n    window.addEventListener('resize', function () {\r\n      let timer: number | undefined\r\n      throttle(\r\n        timer,\r\n        () => {\r\n          // Locate and update Drawer instances on window resize\r\n          const elements = document.body.querySelectorAll('[data-kt-drawer=\"true\"]')\r\n          elements.forEach((el) => {\r\n            const item = el as HTMLElement\r\n            const instance = DrawerComponent.getInstance(item)\r\n            if (instance) {\r\n              instance.update()\r\n            }\r\n          })\r\n        },\r\n        200\r\n      )\r\n    })\r\n  }\r\n\r\n  public static bootstrap = () => {\r\n    DrawerComponent.createInstances('[data-kt-drawer=\"true\"]')\r\n    DrawerComponent.initGlobalHandlers()\r\n    DrawerComponent.handleDismiss()\r\n  }\r\n\r\n  public static reinitialization = () => {\r\n    DrawerComponent.createInstances('[data-kt-drawer=\"true\"]')\r\n    DrawerComponent.hideAll()\r\n    DrawerComponent.updateAll()\r\n    DrawerComponent.handleDismiss()\r\n  }\r\n}\r\n\r\nexport {DrawerComponent, defaultDrawerOptions}\r\n","/* eslint-disable no-useless-escape */\r\n// DOCS: https://javascript.info/cookie\r\nexport class CookieComponent {\r\n  /**\r\n   * Returns the cookie with the given name, or undefined if not found\r\n   *\r\n   * @param  {string} name - cookie name\r\n   * @returns string | null\r\n   */\r\n  public static get(name: string): string | undefined {\r\n    let matches = document.cookie.match(\r\n      new RegExp('(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)')\r\n    )\r\n    return matches ? decodeURIComponent(matches[1]) : undefined\r\n  }\r\n\r\n  /**\r\n   * Please note that a cookie value is encoded,\r\n   * so getCookie uses a built-in decodeURIComponent function to decode it.\r\n   *\r\n   * @param  {string} name - cookie name\r\n   * @param  {string | number | boolean} value - cookie value\r\n   * @param  {any} cookieOptions - cookie options\r\n   * @returns void\r\n   */\r\n  public static set(name: string, value: string | number | boolean, cookieOptions: any): void {\r\n    const options = {\r\n      path: '/',\r\n      // add other defaults here if necessary\r\n      ...cookieOptions,\r\n    }\r\n\r\n    if (options.expires instanceof Date) {\r\n      options.expires = options.expires.toUTCString()\r\n    }\r\n\r\n    let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value)\r\n\r\n    for (let optionKey in options) {\r\n      updatedCookie += '; ' + optionKey\r\n      let optionValue = options[optionKey]\r\n      if (optionValue !== true) {\r\n        updatedCookie += '=' + optionValue\r\n      }\r\n    }\r\n\r\n    document.cookie = updatedCookie\r\n  }\r\n\r\n  /**\r\n   * To delete a cookie, we can call it with a negative expiration date\r\n   *\r\n   * @param  {string} name\r\n   */\r\n  public static delete(name: string): void {\r\n    CookieComponent.set(name, '', {\r\n      'max-age': -1,\r\n    })\r\n  }\r\n}\r\n","import { getAttributeValueByBreakpoint, getCSS, getViewPort, isVisibleElement, throttle } from \"../_utils/DomHelpers\"\r\nimport { EventHandlerUtil } from \"../_utils/EventHandlerUtil\"\r\nimport { DataUtil } from \"../_utils/_DataUtil\"\r\nimport { DOMEventHandlerUtil } from \"../_utils/_DOMEventHandlerUtil\"\r\nimport { ElementStyleUtil } from \"../_utils/_ElementStyleUtil\"\r\nimport { getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel } from \"../_utils/_TypesHelpers\"\r\nimport { CookieComponent } from './_CookieComponent';\r\n\r\nexport interface ScrollOptions {\r\n  saveState?: boolean;\r\n}\r\n\r\nconst defaultScrollOptions: ScrollOptions = {\r\n  saveState: true,\r\n};\r\n\r\nclass ScrollComponent {\r\n  element: HTMLElement;\r\n  options: ScrollOptions;\r\n  id: string;\r\n\r\n  constructor(_element: HTMLElement, options: ScrollOptions) {\r\n    this.element = _element;\r\n    this.options = Object.assign(defaultScrollOptions, options);\r\n    this.id = this.element.getAttribute('id') || '';\r\n    this.update();\r\n    // this.element.setAttribute('data-kt-scrolltop', 'true')\r\n    DataUtil.set(this.element, 'scroll', this);\r\n  }\r\n\r\n  private getOption = (name: string) => {\r\n    if (this.element.hasAttribute('data-kt-scroll-' + name) === true) {\r\n      const attr = this.element.getAttribute('data-kt-scroll-' + name) || '';\r\n      let value: string | JSON | boolean = getAttributeValueByBreakpoint(attr);\r\n      if (value !== null && String(value) === 'true') {\r\n        value = true;\r\n      } else if (value !== null && String(value) === 'false') {\r\n        value = false;\r\n      }\r\n\r\n      return value;\r\n    } else {\r\n      const optionName = stringSnakeToCamel(name);\r\n      const option = getObjectPropertyValueByKey(this.options, optionName);\r\n      if (option) {\r\n        return getAttributeValueByBreakpoint(option);\r\n      } else {\r\n        return null;\r\n      }\r\n    }\r\n  };\r\n\r\n  private getHeightType = () => {\r\n    if (this.getOption('height')) {\r\n      return 'height';\r\n    }\r\n    if (this.getOption('min-height')) {\r\n      return 'min-height';\r\n    }\r\n    if (this.getOption('max-height')) {\r\n      return 'max-height';\r\n    }\r\n    return '';\r\n  };\r\n\r\n  private getAutoHeight = () => {\r\n    let height: number | string = getViewPort().height;\r\n    const dependencies = this.getOption('dependencies');\r\n    const wrappers = this.getOption('wrappers');\r\n    const offset = this.getOption('offset');\r\n\r\n    // Height dependencies\r\n    if (dependencies !== null) {\r\n      const elements = document.querySelectorAll(dependencies as string);\r\n      if (elements && elements.length > 0) {\r\n        for (let i = 0, len = elements.length; i < len; i++) {\r\n          const element = elements[i] as HTMLElement;\r\n          if (isVisibleElement(element) === false) {\r\n            continue;\r\n          }\r\n\r\n          height = height - parseInt(getCSS(element, 'height'));\r\n          height = height - parseInt(getCSS(element, 'margin-top'));\r\n          height = height - parseInt(getCSS(element, 'margin-bottom'));\r\n\r\n          const borderTop = getCSS(element, 'border-top');\r\n          if (borderTop) {\r\n            height = height - parseInt(borderTop);\r\n          }\r\n\r\n          const borderBottom = getCSS(element, 'border-bottom');\r\n          if (borderBottom) {\r\n            height = height - parseInt(borderBottom);\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    // Wrappers\r\n    if (wrappers !== null) {\r\n      var elements = document.querySelectorAll(wrappers as string);\r\n      if (elements && elements.length > 0) {\r\n        for (let i = 0, len = elements.length; i < len; i++) {\r\n          const element = elements[i] as HTMLElement;\r\n\r\n          if (!isVisibleElement(element)) {\r\n            continue;\r\n          }\r\n\r\n          height = height - parseInt(getCSS(element, 'margin-top'));\r\n          height = height - parseInt(getCSS(element, 'margin-bottom'));\r\n          height = height - parseInt(getCSS(element, 'padding-top'));\r\n          height = height - parseInt(getCSS(element, 'padding-bottom'));\r\n\r\n          const borderTop = getCSS(element, 'border-top');\r\n          if (borderTop) {\r\n            height = height - parseInt(borderTop);\r\n          }\r\n\r\n          const borderBottom = getCSS(element, 'border-bottom');\r\n          if (borderBottom) {\r\n            height = height - parseInt(borderBottom);\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    // Custom offset\r\n    if (offset !== null) {\r\n      height = height - parseInt(offset as string);\r\n    }\r\n\r\n    height = height - parseInt(getCSS(this.element, 'margin-top'));\r\n    height = height - parseInt(getCSS(this.element, 'margin-bottom'));\r\n\r\n    const borderTop = getCSS(this.element, 'border-top');\r\n    if (borderTop) {\r\n      height = height - parseInt(borderTop);\r\n    }\r\n\r\n    const borderBottom = getCSS(this.element, 'border-bottom');\r\n    if (borderBottom) {\r\n      height = height - parseInt(borderBottom);\r\n    }\r\n\r\n    height = String(height) + 'px';\r\n\r\n    return height;\r\n  };\r\n\r\n  private setupHeight = () => {\r\n    let height = this.getHeight();\r\n    let heightType = this.getHeightType() as string;\r\n\r\n    // Set height\r\n    if (height !== null && height.length > 0) {\r\n      ElementStyleUtil.set(this.element, heightType, height);\r\n    } else {\r\n      ElementStyleUtil.set(this.element, heightType, '');\r\n    }\r\n  };\r\n\r\n  private setupState = () => {\r\n    if (this.getOption('save-state') === true && this.id) {\r\n      const cookie = CookieComponent.get(this.id + 'st');\r\n      if (cookie) {\r\n        var pos = parseInt(cookie);\r\n\r\n        if (pos > 0) {\r\n          this.element.scrollTop = pos;\r\n        }\r\n      }\r\n    }\r\n  };\r\n\r\n  private setupScrollHandler = () => {\r\n    if (this.getOption('save-state') === true && this.id) {\r\n      this.element.addEventListener('scroll', this.scrollHandler);\r\n    } else {\r\n      this.element.removeEventListener('scroll', this.scrollHandler);\r\n    }\r\n  };\r\n\r\n  private scrollHandler = () => {\r\n    const cookieId = this.id + 'st';\r\n    CookieComponent.set(cookieId, this.element.scrollTop, {});\r\n  };\r\n\r\n  private destroyScrollHandler = () => {\r\n    this.element.removeEventListener('scroll', this.scrollHandler);\r\n  };\r\n\r\n  private resetHeight = () => {\r\n    const heghtType = this.getHeightType();\r\n    if (heghtType) {\r\n      ElementStyleUtil.set(this.element, heghtType, '');\r\n    }\r\n  };\r\n\r\n  ///////////////////////\r\n  // ** Public API  ** //\r\n  ///////////////////////\r\n  public update = () => {\r\n    // Activate/deactivate\r\n    if (\r\n      this.getOption('activate') === true ||\r\n      !this.element.hasAttribute('data-kt-scroll-activate')\r\n    ) {\r\n      this.setupHeight();\r\n      this.setupScrollHandler();\r\n      this.setupState();\r\n    } else {\r\n      this.resetHeight();\r\n      this.destroyScrollHandler();\r\n    }\r\n  };\r\n\r\n  public getHeight = () => {\r\n    const heightType = this.getHeightType();\r\n    const height = this.getOption(heightType || '');\r\n    if (height instanceof Function) {\r\n      return height.call(height);\r\n    } else if (\r\n      height !== null &&\r\n      typeof height === 'string' &&\r\n      height.toLowerCase() === 'auto'\r\n    ) {\r\n      return this.getAutoHeight();\r\n    } else {\r\n      return height;\r\n    }\r\n  };\r\n\r\n  public getElement = () => {\r\n    return this.element;\r\n  };\r\n\r\n  // Static methods\r\n  public static hasInstace(element: HTMLElement) {\r\n    return DataUtil.has(element, 'scroll');\r\n  }\r\n\r\n  public static getInstance(element: HTMLElement) {\r\n    if (element !== null && ScrollComponent.hasInstace(element)) {\r\n      return DataUtil.get(element, 'scroll');\r\n    }\r\n  }\r\n\r\n  // Create Instances\r\n  public static createInstances(selector: string) {\r\n    const elements = document.body.querySelectorAll(selector);\r\n    elements.forEach((element: Element) => {\r\n      const item = element as HTMLElement;\r\n      let scroll = ScrollComponent.getInstance(item);\r\n      if (!scroll) {\r\n        scroll = new ScrollComponent(item, defaultScrollOptions);\r\n      }\r\n    });\r\n  }\r\n\r\n  public static destroyAll(attr: string = '[data-kt-scroll=\"true\"]') {}\r\n\r\n  public static bootstrap(attr: string = '[data-kt-scroll=\"true\"]') {\r\n    ScrollComponent.createInstances(attr);\r\n    ScrollComponent.resize();\r\n  }\r\n\r\n  public static createInstance = (\r\n    element: HTMLElement,\r\n    options: ScrollOptions = defaultScrollOptions\r\n  ): ScrollComponent | undefined => {\r\n    let scroll = ScrollComponent.getInstance(element);\r\n    if (!scroll) {\r\n      scroll = new ScrollComponent(element, options);\r\n    }\r\n    return scroll;\r\n  };\r\n\r\n  public static reinitialization(attr: string = '[data-kt-scroll=\"true\"]') {\r\n    ScrollComponent.createInstances(attr);\r\n  }\r\n\r\n  public static resize() {\r\n    // Window Resize Handling\r\n    window.addEventListener('resize', function () {\r\n      let timer;\r\n      throttle(\r\n        timer,\r\n        () => {\r\n          // Locate and update Drawer instances on window resize\r\n          const elements = document.body.querySelectorAll(\r\n            '[data-kt-scroll=\"true\"]'\r\n          );\r\n          elements.forEach((element: Element) => {\r\n            const instance = ScrollComponent.getInstance(\r\n              element as HTMLElement\r\n            );\r\n            if (instance) {\r\n              instance.update();\r\n            }\r\n          });\r\n        },\r\n        200\r\n      );\r\n    });\r\n  }\r\n}\r\n\r\nexport { ScrollComponent, defaultScrollOptions };\r\n","import { getAttributeValueByBreakpoint, getCSS, throttle } from \"../_utils/DomHelpers\"\r\nimport { EventHandlerUtil } from \"../_utils/EventHandlerUtil\"\r\nimport { DataUtil } from \"../_utils/_DataUtil\"\r\nimport { DOMEventHandlerUtil } from \"../_utils/_DOMEventHandlerUtil\"\r\nimport { ElementStyleUtil } from \"../_utils/_ElementStyleUtil\"\r\nimport { getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel } from \"../_utils/_TypesHelpers\"\r\n// Helpers\r\nimport {CookieComponent} from './_CookieComponent'\r\n\r\nexport interface ToggleOptions {\r\n  saveState: boolean\r\n  targetState?: string\r\n  toggleState?: string\r\n  targetToggleMode?: string\r\n}\r\n\r\nconst defaultToggleOptions: ToggleOptions = {\r\n  saveState: false,\r\n}\r\n\r\nclass ToggleComponent {\r\n  element: HTMLElement\r\n  instanceUid: string\r\n  options: ToggleOptions\r\n  state: string = ''\r\n  target: HTMLElement | null = null\r\n  attribute: string = ''\r\n\r\n  constructor(_element: HTMLElement, options: ToggleOptions) {\r\n    this.options = Object.assign(defaultToggleOptions, options)\r\n    this.instanceUid = getUniqueIdWithPrefix('toggle')\r\n    this.element = _element\r\n\r\n    const elementTargetAttr = this.element.getAttribute('data-kt-toggle-target')\r\n    if (elementTargetAttr) {\r\n      this.target = document.querySelector(elementTargetAttr)\r\n    }\r\n    const elementToggleAttr = this.element.getAttribute('data-kt-toggle-state')\r\n    this.state = elementToggleAttr || ''\r\n    this.attribute = 'data-kt-' + this.element.getAttribute('data-kt-toggle-name')\r\n\r\n    // Event Handlers\r\n    this._handlers()\r\n\r\n    // Update Instance\r\n    // Bind Instance\r\n    DataUtil.set(this.element, 'toggle', this)\r\n  }\r\n\r\n  private _handlers = () => {\r\n    this.element.addEventListener('click', (e: Event) => {\r\n      e.preventDefault()\r\n      this._toggle()\r\n    })\r\n  }\r\n\r\n  // Event handlers\r\n  private _toggle = () => {\r\n    // Trigger \"after.toggle\" event\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.change')\r\n\r\n    if (this._isEnabled()) {\r\n      this._disable()\r\n    } else {\r\n      this._enable()\r\n    }\r\n\r\n    // Trigger \"before.toggle\" event\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.changed')\r\n    return this\r\n  }\r\n\r\n  private _enable = () => {\r\n    if (this._isEnabled()) {\r\n      return\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.enable')\r\n    this.target?.setAttribute(this.attribute, 'on')\r\n    if (this.state.length > 0) {\r\n      this.element.classList.add(this.state)\r\n    }\r\n\r\n    if (this.options.saveState) {\r\n      CookieComponent.set(this.attribute, 'on', {})\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.enabled')\r\n    return this\r\n  }\r\n\r\n  private _disable = () => {\r\n    if (!this._isEnabled()) {\r\n      return false\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.disable')\r\n    this.target?.removeAttribute(this.attribute)\r\n\r\n    if (this.state.length > 0) {\r\n      this.element.classList.remove(this.state)\r\n    }\r\n\r\n    if (this.options.saveState) {\r\n      CookieComponent.delete(this.attribute)\r\n    }\r\n\r\n    EventHandlerUtil.trigger(this.element, 'kt.toggle.disabled')\r\n    return this\r\n  }\r\n\r\n  private _isEnabled = () => {\r\n    if (!this.target) {\r\n      return false\r\n    }\r\n\r\n    return String(this.target.getAttribute(this.attribute)).toLowerCase() === 'on'\r\n  }\r\n\r\n  ///////////////////////\r\n  // ** Public API  ** //\r\n  ///////////////////////\r\n\r\n  // Plugin API\r\n  // Plugin API\r\n  public toggle = () => {\r\n    return this._toggle()\r\n  }\r\n\r\n  public enable = () => {\r\n    return this._enable()\r\n  }\r\n\r\n  public disable = () => {\r\n    return this._disable()\r\n  }\r\n\r\n  public isEnabled = () => {\r\n    return this._isEnabled()\r\n  }\r\n\r\n  public goElement = () => {\r\n    return this.element\r\n  }\r\n\r\n  // Event API\r\n  public on = (name: string, handler: Function) => {\r\n    return EventHandlerUtil.on(this.element, name, handler)\r\n  }\r\n\r\n  public one = (name: string, handler: Function) => {\r\n    return EventHandlerUtil.one(this.element, name, handler)\r\n  }\r\n\r\n  public off = (name: string) => {\r\n    return EventHandlerUtil.off(this.element, name)\r\n  }\r\n\r\n  public trigger = (name: string, event?: Event) => {\r\n    return EventHandlerUtil.trigger(this.element, name, event)\r\n  }\r\n\r\n  // Static methods\r\n  public static getInstance = (el: HTMLElement) => {\r\n    const toggleElement = DataUtil.get(el, 'toggle')\r\n    if (toggleElement) {\r\n      return toggleElement\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  public static createInstances = (selector: string) => {\r\n    const elements = document.body.querySelectorAll(selector)\r\n    elements.forEach((el) => {\r\n      const item = el as HTMLElement\r\n      let toggleElement = ToggleComponent.getInstance(item)\r\n      if (!toggleElement) {\r\n        toggleElement = new ToggleComponent(item, defaultToggleOptions)\r\n      }\r\n    })\r\n  }\r\n\r\n  public static createInsance = (\r\n    selector: string,\r\n    options: ToggleOptions = defaultToggleOptions\r\n  ): ToggleComponent | undefined => {\r\n    const element = document.body.querySelector(selector)\r\n    if (!element) {\r\n      return\r\n    }\r\n    const item = element as HTMLElement\r\n    let toggle = ToggleComponent.getInstance(item)\r\n    if (!toggle) {\r\n      toggle = new ToggleComponent(item, options)\r\n    }\r\n    return toggle\r\n  }\r\n\r\n  public static reinitialization = () => {\r\n    ToggleComponent.createInstances('[data-kt-toggle]')\r\n  }\r\n\r\n  public static bootstrap = () => {\r\n    ToggleComponent.createInstances('[data-kt-toggle]')\r\n  }\r\n}\r\n\r\nexport {ToggleComponent, defaultToggleOptions}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { PermissionSets } from '@bnsights/bbsf-controls';\r\n\r\n@Component({\r\n    selector: 'app-aside-menu',\r\n    templateUrl: './aside-menu.component.html',\r\n    standalone: false\r\n})\r\nexport class AsideMenuComponent implements OnInit {\r\n  appAngularVersion: string = \"\";\r\n  appPreviewChangelogUrl: string = \"\";\r\n  currentUserProfile: any;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  constructor(private utilityService: UtilityService, private authService: AuthService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == PermissionSets.Admin;\r\n  }\r\n\r\n  getResourceValue(Key) {\r\n    return this.utilityService.getResourceValue(Key);\r\n  }\r\n}\r\n","<!-- home -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Home\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Home.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Home') }}</span>\r\n  </a>\r\n</div>\r\n<!-- users -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" [routerLink]=\"['/Admin/Users']\" routerLinkActive=\"router-link-active\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/user.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Users') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Active Directory -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/ADConnection\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Folder.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('ActiveDirectory') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Configuration -->\r\n<div class=\"menu-item\">\r\n  <a\r\n    class=\"menu-link py-4 mb-2 without-sub\"\r\n    aria-haspopup=\"true\"\r\n    routerLinkActive=\"active\"\r\n    routerLink=\"/Admin/Configurations/Configuration\"\r\n    [routerLinkActiveOptions]=\"{ exact: true }\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Tools.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Configuration') }}</span>\r\n  </a>\r\n</div>\r\n\r\n<div class=\"menu-item\">\r\n  <a\r\n    class=\"menu-link py-4 mb-2 without-sub\"\r\n    aria-haspopup=\"true\"\r\n    routerLinkActive=\"active\"\r\n    routerLink=\"/Admin/Configurations/authentication-configuration\"\r\n    [routerLinkActiveOptions]=\"{ exact: true }\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/authentication.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Authentication') }}</span>\r\n  </a>\r\n</div>\r\n\r\n<!-- Jobs -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Jobs\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Briefcase.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Jobs') }}</span>\r\n  </a>\r\n</div>\r\n<!-- License -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/License\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/License.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('License') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Localization -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Localization\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Localization.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Localization') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Logs -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Logs\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/File.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Logs') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Service Providers -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Providers\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/ServiceProvider.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('ServiceProviders') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Public Holidays -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/PublicHolidays\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/PublicHolidays.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('PublicHolidays') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Workflows -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Workflows\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Workflows.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Workflows') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Roles -->\r\n<div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n  <span class=\"menu-link py-4 mb-2\">\r\n    <span class=\"menu-icon\"> <span class=\"svg-icon svg-icon-2\" [inlineSVG]=\"'./src/assets/images/menu/Roles.svg'\"></span> </span\r\n    ><span class=\"menu-title\" data-link=\"/crafted/account\">{{ getResourceValue('Roles') }}</span\r\n    ><span class=\"menu-arrow\"></span>\r\n  </span>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Roles/Permissions\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span><span class=\"menu-title\">{{ getResourceValue('Permissions') }}</span>\r\n      </a>\r\n    </div>\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Roles/PermissionSets\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span\r\n        ><span class=\"menu-title\">{{ getResourceValue('PermissionSets') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- Notifications -->\r\n<div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n  <span class=\"menu-link py-4 mb-2\">\r\n    <span class=\"menu-icon\"> <span class=\"svg-icon svg-icon-2\" [inlineSVG]=\"'./src/assets/images/menu/Notifications.svg'\"></span> </span\r\n    ><span class=\"menu-title\" data-link=\"/crafted/account\">{{ getResourceValue('Notifications') }}</span\r\n    ><span class=\"menu-arrow\"></span>\r\n  </span>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Notifications/Templates\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span><span class=\"menu-title\">{{ getResourceValue('Templates') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Notifications/MasterLayouts\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span\r\n        ><span class=\"menu-title\">{{ getResourceValue('EmailHeaderFooterTemplates') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- Documents -->\r\n<div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n  <span class=\"menu-link py-4 mb-2\">\r\n    <span class=\"menu-icon\"> <span class=\"svg-icon svg-icon-2\" [inlineSVG]=\"'./src/assets/images/menu/Notifications.svg'\"></span> </span\r\n    ><span class=\"menu-title\" data-link=\"/crafted/account\">{{ getResourceValue('Documents') }}</span\r\n    ><span class=\"menu-arrow\"></span>\r\n  </span>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Documents/Templates\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span><span class=\"menu-title\">{{ getResourceValue('Templates') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Documents/MasterLayouts\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span\r\n        ><span class=\"menu-title\">{{ getResourceValue('DocumentHeaderFooterTemplates') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- Lookups -->\r\n<div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n  <span class=\"menu-link py-4 mb-2\">\r\n    <span class=\"menu-icon\"> <span class=\"svg-icon svg-icon-2\" [inlineSVG]=\"'./src/assets/images/menu/Lookups.svg'\"></span> </span\r\n    ><span class=\"menu-title\" data-link=\"/crafted/account\">{{ getResourceValue('Lookup') }}</span\r\n    ><span class=\"menu-arrow\"></span>\r\n  </span>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Lookups/Lookups\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span><span class=\"menu-title\">{{ getResourceValue('Lookup') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n  <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n    <div class=\"menu-item\">\r\n      <a class=\"menu-link py-4 mb-2 without-sub\" routerLinkActive=\"active\" routerLink=\"/Admin/Lookups/LookupGroups\">\r\n        <span class=\"menu-bullet\"><span class=\"bullet bullet-dot\"></span></span><span class=\"menu-title\">{{ getResourceValue('LookupGroups') }}</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- Impersonation Rules -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/ImpersonationRules\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Impersonation.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('ImpersonationRules') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Department -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/Departments\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Department.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Departments') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Sector -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" [routerLink]=\"['/Admin/Sectors']\" routerLinkActive=\"router-link-active\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/Sectors.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Sectors') }}</span>\r\n  </a>\r\n</div>\r\n<!-- FAQs -->\r\n<div class=\"menu-item\">\r\n  <a class=\"menu-link py-4 mb-2 without-sub\" aria-haspopup=\"true\" routerLinkActive=\"active\" routerLink=\"/Admin/HelpCenter\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/HelpCenter.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('FAQs') }}</span>\r\n  </a>\r\n</div>\r\n<!-- Organization -->\r\n<div class=\"menu-item\" *ngIf=\"isSuperAdmin\">\r\n  <a\r\n    class=\"menu-link py-4 mb-2 without-sub\"\r\n    aria-haspopup=\"true\"\r\n    routerLinkActive=\"active\"\r\n    routerLinkActive=\"active\"\r\n    routerLink=\"/Admin/organization\"\r\n    [routerLinkActiveOptions]=\"{ exact: true }\">\r\n    <span class=\"menu-icon\">\r\n      <span [inlineSVG]=\"'./src/assets/images/menu/organization.svg'\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n    </span>\r\n    <span class=\"menu-title\">{{ getResourceValue('Organization') }}</span>\r\n  </a>\r\n</div>\r\n","import {\r\n  Component,\r\n  ElementRef,\r\n  OnDestroy,\r\n  OnInit,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, Router } from '@angular/router';\r\nimport { AppearanceConfigurationService } from '@bnsights/bbsf-utilities';\r\nimport { Subscription } from 'rxjs';\r\nimport { MenuComponent } from '../../../../_metronic/core/components/MenuComponent';\r\nimport { DrawerComponent } from '../../../../_metronic/core/components/_DrawerComponent';\r\nimport { ScrollComponent } from '../../../../_metronic/core/components/_ScrollComponent';\r\nimport { ToggleComponent } from '../../../../_metronic/core/components/_ToggleComponent';\r\nimport { LayoutService } from '../../../../_metronic/core/services/layout.service';\r\n\r\n\r\n@Component({\r\n    selector: 'app-aside',\r\n    templateUrl: './aside.component.html',\r\n    standalone: false\r\n})\r\nexport class AsideComponent implements OnInit, OnDestroy {\r\n  asideTheme: string = '';\r\n  logo: string = '';\r\n  asideMinimize: boolean = false;\r\n  asideMenuCSSClasses: string = '';\r\n  appPreviewDocsUrl: string = \"\";\r\n  @ViewChild('ktAsideScroll', { static: true }) ktAsideScroll: ElementRef;\r\n  private unsubscribe: Subscription[] = [];\r\n\r\n  constructor(private layout: LayoutService, private router: Router, private appearanceConfigurationService: AppearanceConfigurationService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.asideTheme = this.layout.getProp('aside.theme') as string;\r\n    this.asideMinimize = this.layout.getProp('aside.minimize') as boolean;\r\n    this.asideMenuCSSClasses = this.layout.getStringCSSClasses('asideMenu');\r\n    this.logo = this.appearanceConfigurationService.getLogo();\r\n    // this.routingChanges();\r\n  }\r\n\r\n  routingChanges() {\r\n    const routerSubscription = this.router.events.subscribe((event) => {\r\n      if (event instanceof NavigationEnd || event instanceof NavigationCancel) {\r\n        this.menuReinitialization();\r\n      }\r\n    }) as any;\r\n    this.unsubscribe.push(routerSubscription);\r\n  }\r\n\r\n  menuReinitialization() {\r\n    setTimeout(() => {\r\n      MenuComponent.reinitialization();\r\n      DrawerComponent.reinitialization();\r\n      ToggleComponent.reinitialization();\r\n      ScrollComponent.reinitialization();\r\n      if (this.ktAsideScroll && this.ktAsideScroll.nativeElement) {\r\n        this.ktAsideScroll.nativeElement.scrollTop = 0;\r\n      }\r\n    }, 50);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n  }\r\n}\r\n","<!-- begin::Brand -->\r\n<div class=\"aside-logo flex-column-auto\" id=\"kt_aside_logo\">\r\n  <!-- begin::Logo -->\r\n  <ng-container>\r\n    <a routerLinkActive=\"active\" routerLink=\"/\">\r\n      <img alt=\"Logo\" class=\"h-25px logo\" src=\"{{ logo }}\" />\r\n    </a>\r\n  </ng-container>\r\n\r\n  <!-- end::Logo -->\r\n\r\n  <!-- begin::Aside toggle -->\r\n  <ng-container *ngIf=\"asideMinimize\">\r\n    <div\r\n      id=\"kt_aside_toggle\"\r\n      class=\"btn btn-icon w-auto px-0 btn-active-color-primary aside-toggle\"\r\n      data-kt-toggle=\"true\"\r\n      data-kt-toggle-state=\"active\"\r\n      data-kt-toggle-target=\"body\"\r\n      data-kt-toggle-name=\"aside-minimize\">\r\n      <span [inlineSVG]=\"'.././src/assets/images/menu//arr079.svg'\" class=\"svg-icon svg-icon-1 rotate-180\"></span>\r\n    </div>\r\n  </ng-container>\r\n  <!-- end::Aside toggler -->\r\n</div>\r\n<!-- end::Brand  -->\r\n\r\n<!-- begin::Aside menu -->\r\n<div class=\"aside-menu flex-column-fluid\">\r\n  <div\r\n    #ktAsideScroll\r\n    id=\"kt_aside_menu_wrapper\"\r\n    class=\"hover-scroll-overlay-y my-5 my-lg-5\"\r\n    data-kt-scroll=\"true\"\r\n    data-kt-scroll-activate=\"{default: false, lg: true}\"\r\n    data-kt-scroll-height=\"auto\"\r\n    data-kt-scroll-dependencies=\"#kt_aside_logo, #kt_aside_footer\"\r\n    data-kt-scroll-wrappers=\"#kt_aside_menu\"\r\n    data-kt-scroll-offset=\"0\">\r\n    <div\r\n      id=\"#kt_aside_menu\"\r\n      data-kt-menu=\"true\"\r\n      class=\"menu menu-column menu-title-gray-800 menu-state-title-primary menu-state-icon-primary menu-state-bullet-primary menu-arrow-gray-500\">\r\n      <app-aside-menu id=\"asideMenu\"></app-aside-menu>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- end::Aside menu -->\r\n","export class IdentityModel {\r\n  id: number;\r\n  name: string;\r\n  email: string;\r\n  nickName: string;\r\n  locale: string;\r\n  givenNameEn: string;\r\n  givenNameAr: string;\r\n}\r\n\r\n\r\nexport class UAEPassLoginResultModel {\r\n  result: string = undefined;\r\n  hasError: boolean = undefined;\r\n  errorMsg: string = undefined;\r\n\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { AddUserModel } from './../models/UserModels/AddUserModel';\r\nimport { EditUserModel } from './../models/UserModels/EditUserModel';\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { ActivationModel } from \"../models/UserModels/ActivationModel\";\r\nimport { IdentityModel } from \"../models\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class UserService {\r\n  ApiUrl = \"/api/admin/Users/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  GetUsersByFilter(FilteredUsersRequestModel: any) {\r\n    return this.http.post(this.ApiUrl + 'GetUsersByFilter', FilteredUsersRequestModel);\r\n  }\r\n  Loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'LoadFiltersDropdowns');\r\n  }\r\n  LoadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddUser');\r\n  }\r\n  LoadPermissionsDropDown(permissionSetIds) {\r\n    return this.http.post(this.ApiUrl + 'LoadPermissionsDDL', permissionSetIds);\r\n  }\r\n  AddUser(AddUserModel: AddUserModel) {\r\n    return this.http.post(this.ApiUrl + 'AddUser', AddUserModel);\r\n  }\r\n\r\n  getEditUser(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditUser', params);\r\n\r\n  }\r\n  EditUser(EditUserModel: EditUserModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditUser', EditUserModel);\r\n  }\r\n\r\n  SendActivationEmailForUser(UsersRequestModel: any) {\r\n\r\n    return this.http.post(this.ApiUrl + 'SendActivationLink', UsersRequestModel);\r\n  }\r\n\r\n  ActivateUsers(UserModelsDTO: any[]) {\r\n\r\n    return this.http.post(this.ApiUrl + 'ActivateUsers', UserModelsDTO);\r\n  }\r\n\r\n  DeactivateUsers(UserModelsDTO: any[]) {\r\n\r\n    return this.http.post(this.ApiUrl + 'DeactivateUsers', UserModelsDTO);\r\n  }\r\n\r\n  ResetUsersPassword(UserModelsDTO: any[]) {\r\n\r\n    return this.http.post(this.ApiUrl + 'ResetUsersPassword', UserModelsDTO);\r\n  }\r\n\r\n  DeleteUsers(UserModelsDTO: any[]) {\r\n    // Extract GUIDs and wrap in UsersIDRequestModel\r\n    const request = {\r\n      UsersIDs: UserModelsDTO.map(user => user.iD_GUID)\r\n    };\r\n    return this.http.post(this.ApiUrl + 'DeleteUsers', request);\r\n  }\r\n\r\n  SetUsersPassword(UserModelDTO: ActivationModel) {\r\n    return this.http.post(this.ApiUrl + 'SetUsersPassword', UserModelDTO);\r\n  }\r\n\r\n  Export(model: any) {\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.responseType = \"arraybuffer\";\r\n    options.castResponsetoClass = false;\r\n\r\n    return this.http.post(this.ApiUrl + 'Export', model, null, null, options);\r\n  }\r\n\r\n\r\n  //ChangeLanguage(key: string) {\r\n\r\n  //  let params = new HttpParams();\r\n  //  params = params.append(\"UserId\", this.authService.user.profile.id);\r\n  //  params = params.append(\"LanguageKey\", key);\r\n  //  return this.http.post(this.ApiUrl + 'updateLaguage', null, null, params)\r\n  //}\r\n\r\n  UpdateUserInfo() {\r\n\r\n    return this.http.get('/connect/userinfo');\r\n  }\r\n\r\n  getCurrentUser() {\r\n    return this.http.get<{ model: IdentityModel; }>(this.ApiUrl + 'GetCurrentUser');\r\n\r\n  }\r\n\r\n  getPermissionSetsList() {\r\n    return this.http.get<any>(this.ApiUrl + 'permission-sets-list');\r\n  }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LayoutService } from '../../../../_metronic/core/services/layout.service';\r\nimport { UserService } from '../../../../Pages/shared/Services/userService.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { AuthService, UtilityService, MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { IdentityModel } from '../../../shared/models/UserModels/IdentityModel';\r\n\r\n@Component({\r\n    selector: 'app-topbar',\r\n    templateUrl: './topbar.component.html',\r\n    styleUrls: ['./topbar.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TopbarComponent implements OnInit {\r\n  toolbarButtonMarginClass = 'ms-1 ms-lg-3';\r\n  toolbarButtonHeightClass = 'w-30px h-30px w-md-40px h-md-40px';\r\n  toolbarUserAvatarHeightClass = 'symbol-30px symbol-md-40px';\r\n  toolbarButtonIconSizeClass = 'svg-icon-1';\r\n  headerLeft: string = 'menu';\r\n  // Decorator wires up blockUI instance\r\n  @BlockUI() blockUI: NgBlockUI;\r\n\r\n  extrasQuickPanelDisplay: boolean;\r\n  extrasLanguagesDisplay: boolean;\r\n  extrasUserDisplay: boolean;\r\n  extrasUserLayout: 'offcanvas' | 'dropdown';\r\n  language: string;\r\n  token: string;\r\n  name: string;\r\n  clicked = false;\r\n  identity: IdentityModel = new IdentityModel();\r\n  constructor(private layout: LayoutService, private authService: AuthService, private userService: UserService, public UtilityService: UtilityService, private masterLayoutService: MasterLayoutService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    // let lang = AuthService.user.profile.locale\r\n    let lang = await this.UtilityService.getCurrentLanguage();\r\n    localStorage.setItem('language', lang);\r\n    this.language = lang;\r\n    this.headerLeft = this.layout.getProp('header.left') as string;\r\n\r\n    this.getCurrentUser();\r\n  }\r\n\r\n  getCurrentUser() {\r\n    this.userService.getCurrentUser()\r\n      .subscribe((result) => {\r\n        let obj = result;\r\n        this.identity = obj.model;\r\n        this.identity.name = this.identity.locale == \"en\" ? this.identity.givenNameEn : this.identity.givenNameAr;\r\n      });\r\n  }\r\n\r\n  switchLang(lang) {\r\n    this.masterLayoutService.switchLang(lang, \"BBSF-Bundle.css\", \"BBSF-Bundle-RTL.css\");\r\n  }\r\n  refreshPage() {\r\n    window.location.reload();\r\n  }\r\n\r\n  getResourceValue(Key) {\r\n    return this.UtilityService.getResourceValue(Key);\r\n  }\r\n\r\n  async logout() {\r\n    await this.authService.signOut();\r\n  }\r\n\r\n}\r\n","<!-- begin::User -->\r\n<div class=\"d-flex align-items-center\" [ngClass]=\"toolbarButtonMarginClass\" id=\"kt_header_user_menu_toggle\">\r\n  <a class=\"lang-switch-btn btn btn-active-light-primary btn-light\" *ngIf=\"language == 'ar'\" (click)=\"switchLang('en')\">\r\n    <i class=\"fas fa-globe mr-2\"></i> English\r\n  </a>\r\n  <a class=\"lang-switch-btn btn btn-active-light-primary btn-light\" *ngIf=\"language == 'en'\" (click)=\"switchLang('ar')\">\r\n    العربيه <i class=\"fas fa-globe ms-2\"></i>\r\n  </a>\r\n  <div ngbDropdown class=\"d-inline-block\">\r\n    <div\r\n      ngbDropdownToggle\r\n      class=\"btn btn-active-light btn-light d-flex align-items-center bg-hover-light py-2 px-2 px-md-3 ms-5\"\r\n      data-kt-menu-trigger=\"click\"\r\n      data-kt-menu-attach=\"parent\"\r\n      data-kt-menu-placement=\"bottom-end\">\r\n      <div class=\"d-none d-md-flex flex-column align-items-end justify-content-center me-2\">\r\n        <span class=\"text-muted fs-7 fw-bold lh-1 mb-2\">{{ UtilityService.getResourceValue('Hello') }}</span>\r\n        <span class=\"text-dark fs-base fw-bolder lh-1\">{{ identity?.name }}</span>\r\n      </div>\r\n      <div class=\"symbol symbol-35px\">\r\n        <h6 class=\"symbol-label font-size-h5 font-weight-bold bg-light-success ml-2 mb-0\">M</h6>\r\n      </div>\r\n    </div>\r\n    <div\r\n      ngbDropdownMenu\r\n      class=\"menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg menu-state-primary fw-bold fs-6 w-275px\">\r\n      <div class=\"drop-item\">\r\n        <div\r\n          class=\"d-flex flex-column flex-center bgi-no-repeat rounded-top px-9 py-10\"\r\n          style=\"background-image: url('./src/assets/images/menu-header-dark.png')\">\r\n          <div class=\"text-white fw-bold mb-3\">\r\n            {{ identity?.name }}\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"menu-item\">\r\n        <button class=\"btn btn-block cursor-pointer text-center d-block w-100\" (click)=\"logout(); clicked = true\" [disabled]=\"clicked\">\r\n          {{ getResourceValue('Sign Out') }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- end::User -->\r\n<!-- <ng-container *ngIf=\"headerLeft === 'menu'\">\r\n  <div\r\n    class=\"d-flex align-items-center d-lg-none ms-2 me-n3\"\r\n    title=\"Show header menu\"\r\n  >\r\n    <div\r\n      class=\"\r\n        btn btn-icon btn-active-light-primary\r\n        w-30px\r\n        h-30px\r\n        w-md-40px\r\n        h-md-40px\r\n      \"\r\n      id=\"kt_header_menu_mobile_toggle\"\r\n    >\r\n      <span\r\n        [inlineSVG]=\"'./assets/media/icons/duotune/text/txt001.svg'\"\r\n        class=\"svg-icon svg-icon-1\"\r\n      ></span>\r\n    </div>\r\n  </div>\r\n</ng-container> -->\r\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  ElementRef,\r\n  OnDestroy,\r\n  OnInit,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { LayoutService } from '../../../../_metronic/core/services/layout.service';\r\n// import { MenuComponent } from '../../../kt/components';\r\n@Component({\r\n    selector: 'app-header',\r\n    templateUrl: './header.component.html',\r\n    standalone: false\r\n})\r\nexport class HeaderComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  headerContainerCssClasses: string = '';\r\n  asideDisplay: boolean = true;\r\n  headerLeft: string = 'menu';\r\n  pageTitleCssClasses: string = '';\r\n  pageTitleAttributes: {\r\n    [attrName: string]: string | boolean;\r\n  };\r\n  @ViewChild('ktPageTitle', { static: true }) ktPageTitle: ElementRef;\r\n\r\n  private unsubscribe: Subscription[] = [];\r\n\r\n  constructor(private layout: LayoutService, private router: Router) {\r\n    this.routingChanges();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.headerContainerCssClasses =\r\n      this.layout.getStringCSSClasses('headerContainer');\r\n    this.asideDisplay = this.layout.getProp('aside.display') as boolean;\r\n    this.headerLeft = this.layout.getProp('header.left') as string;\r\n    this.pageTitleCssClasses = this.layout.getStringCSSClasses('pageTitle');\r\n    this.pageTitleAttributes = this.layout.getHTMLAttributes('pageTitle');\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (this.ktPageTitle) {\r\n      for (const key in this.pageTitleAttributes) {\r\n        if (this.pageTitleAttributes.hasOwnProperty(key)) {\r\n          this.ktPageTitle.nativeElement.attributes[key] =\r\n            this.pageTitleAttributes[key];\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  routingChanges() {\r\n    const routerSubscription = this.router.events.subscribe((event) => {\r\n      // if (event instanceof NavigationEnd || event instanceof NavigationCancel) {\r\n      //   MenuComponent.reinitialization();\r\n      // }\r\n    }) as any;\r\n    this.unsubscribe.push(routerSubscription);\r\n  }\r\n\r\n  ngOnDestroy() {}\r\n}\r\n","<div\r\n  [ngClass]=\"headerContainerCssClasses\"\r\n  class=\"d-flex align-items-stretch justify-content-between\"\r\n>\r\n  <!-- begin::Aside mobile toggle -->\r\n  <ng-container *ngIf=\"asideDisplay\">\r\n    <div\r\n      class=\"d-flex align-items-center d-lg-none ms-n3 me-2\"\r\n      title=\"Show aside menu\"\r\n    >\r\n      <div\r\n        class=\"\r\n          btn btn-icon btn-active-light-primary\r\n          w-30px\r\n          h-30px\r\n          w-md-40px\r\n          h-md-40px\r\n        \"\r\n        id=\"kt_aside_mobile_toggle\"\r\n      >\r\n        <span\r\n          [inlineSVG]=\"'./src/assets/images/abs015.svg'\"\r\n          class=\"svg-icon svg-icon-2x mt-1\"\r\n        ></span>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <!-- end::Aside mobile toggle -->\r\n\r\n  <!-- begin::Logo -->\r\n  <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n    <a routerLink=\"/dashboard\" class=\"d-lg-none\">\r\n      <img src=\"./src/assets/images/bnsights-logo.svg\" class=\"h-15px\" />\r\n    </a>\r\n  </div>\r\n  <!-- end::Logo -->\r\n\r\n  <!-- begin::Wrapper -->\r\n  <div\r\n    class=\"d-flex align-items-stretch justify-content-end flex-lg-grow-1\"\r\n  >\r\n    <ng-container *ngIf=\"headerLeft === 'page-title'\">\r\n      <div class=\"d-flex align-items-center\" id=\"kt_header_nav\">\r\n        <app-page-title\r\n          #ktPageTitle\r\n          class=\"page-title d-flex\"\r\n          [ngClass]=\"pageTitleCssClasses\"\r\n        ></app-page-title>\r\n      </div>\r\n    </ng-container>\r\n\r\n    <div class=\"d-flex align-items-stretch flex-shrink-0\">\r\n      <app-topbar class=\"d-flex align-items-stretch flex-shrink-0\"></app-topbar>\r\n    </div>\r\n  </div>\r\n  <!-- end::Wrapper -->\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LayoutService } from '../../../../_metronic/core/services/layout.service';\r\n//import { default as config } from \"../../../../../../package.json\";\r\n\r\n@Component({\r\n    selector: 'app-footer',\r\n    templateUrl: './footer.component.html',\r\n    standalone: false\r\n})\r\n\r\nexport class FooterComponent implements OnInit {\r\n  footerContainerCssClasses: string = '';\r\n  currentYear: string;\r\n  appVersion: string = \"\";\r\n  adminPortalVersion: string = \"\";\r\n  constructor(private layout: LayoutService) {\r\n    const currentDate = new Date();\r\n    this.currentYear = currentDate.getFullYear().toString();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    var appVersionElement=document.getElementsByName(\"AppVersion\")[0];\r\n    if(appVersionElement)\r\n      this.appVersion = \"V\" + appVersionElement.getAttribute('content');\r\n\r\n    //var adminVersion = config.version;\r\n    //if (adminVersion)\r\n    //  this.adminPortalVersion =\"Admin Portal V\" + adminVersion;\r\n\r\n    this.footerContainerCssClasses =\r\n      this.layout.getStringCSSClasses('footerContainer');\r\n\r\n  }\r\n}\r\n","<div [ngClass]=\"footerContainerCssClasses\"\r\n     class=\"\r\n    d-flex\r\n    flex-column flex-md-row\r\n    align-items-center\r\n    justify-content-between\r\n     container-fluid\r\n  \">\r\n  <!-- begin::Copyright  -->\r\n  <div class=\"text-dark order-2 order-md-1\">\r\n    <a class=\"text-gray-800 text-hover-primary cursor-pointer\" href=\"https://bnsights.com\"\r\n       target=\"_blank\">\r\n      Bnsights\r\n    </a>\r\n    <span class=\"text-muted fw-bold me-2\"> 2021 © </span>\r\n    <span>{{appVersion}} </span>\r\n\r\n\r\n  </div>\r\n  <!-- end::Copyright  -->\r\n\r\n</div>\r\n","import { getAttributeValueByBreakpoint, getCSS, getScrollTop, throttle } from \"../_utils/DomHelpers\"\r\nimport { ElementAnimateUtil } from \"../_utils/ElementAnimateUtil\"\r\nimport { EventHandlerUtil } from \"../_utils/EventHandlerUtil\"\r\nimport { DataUtil } from \"../_utils/_DataUtil\"\r\nimport { DOMEventHandlerUtil } from \"../_utils/_DOMEventHandlerUtil\"\r\nimport { ElementStyleUtil } from \"../_utils/_ElementStyleUtil\"\r\nimport { getObjectPropertyValueByKey, getUniqueIdWithPrefix, stringSnakeToCamel } from \"../_utils/_TypesHelpers\"\r\n\r\nexport interface IScrollTopOptions {\r\n  offset: number\r\n  speed: number\r\n}\r\n\r\nconst defaultScrollTopOptions: IScrollTopOptions = {\r\n  offset: 200,\r\n  speed: 600,\r\n}\r\n\r\nclass ScrollTopComponent {\r\n  element: HTMLElement\r\n  options: IScrollTopOptions\r\n  instanceUid: string\r\n\r\n  constructor(_element: HTMLElement, options: IScrollTopOptions) {\r\n    this.element = _element\r\n    this.options = Object.assign(defaultScrollTopOptions, options)\r\n    this.instanceUid = getUniqueIdWithPrefix('scrolltop')\r\n\r\n    // Event Handlers\r\n    this._handlers()\r\n\r\n    // Bind Instance\r\n    DataUtil.set(this.element, 'scrolltop', this)\r\n  }\r\n\r\n  private _handlers = () => {\r\n    let timer: number\r\n    window.addEventListener('scroll', () => {\r\n      throttle(timer, () => {\r\n        this._scroll()\r\n      })\r\n    })\r\n\r\n    this.element.addEventListener('click', (e: Event) => {\r\n      e.preventDefault()\r\n      this._go()\r\n    })\r\n  }\r\n\r\n  private _scroll = () => {\r\n    const offset = parseInt(this._getOption('offset') as string)\r\n    const pos = getScrollTop() // current vertical position\r\n    if (pos > offset) {\r\n      if (!document.body.hasAttribute('data-kt-scrolltop')) {\r\n        document.body.setAttribute('data-kt-scrolltop', 'on')\r\n      }\r\n    } else {\r\n      if (document.body.hasAttribute('data-kt-scrolltop')) {\r\n        document.body.removeAttribute('data-kt-scrolltop')\r\n      }\r\n    }\r\n  }\r\n\r\n  private _go = () => {\r\n    const speed = parseInt(this._getOption('speed') as string)\r\n    ElementAnimateUtil.scrollTop(0, speed)\r\n  }\r\n\r\n  private _getOption = (name: string) => {\r\n    const attr = this.element.getAttribute(`data-kt-scrolltop-${name}`)\r\n    if (attr) {\r\n      const value = getAttributeValueByBreakpoint(attr)\r\n      return value !== null && String(value) === 'true'\r\n    }\r\n\r\n    const optionName = stringSnakeToCamel(name)\r\n    const option = getObjectPropertyValueByKey(this.options, optionName)\r\n    if (option) {\r\n      return getAttributeValueByBreakpoint(option)\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  ///////////////////////\r\n  // ** Public API  ** //\r\n  ///////////////////////\r\n\r\n  // Plugin API\r\n  public go = () => {\r\n    return this._go()\r\n  }\r\n\r\n  public getElement = () => {\r\n    return this.element\r\n  }\r\n\r\n  // Static methods\r\n  public static getInstance = (el: HTMLElement) => {\r\n    const scrollTop = DataUtil.get(el, 'scrolltop')\r\n    if (scrollTop) {\r\n      return scrollTop\r\n    }\r\n\r\n    return null\r\n  }\r\n\r\n  public static createInstances = (selector: string) => {\r\n    const elements = document.body.querySelectorAll(selector)\r\n    elements.forEach((el) => {\r\n      const item = el as HTMLElement\r\n      let scrollTop = ScrollTopComponent.getInstance(item)\r\n      if (!scrollTop) {\r\n        scrollTop = new ScrollTopComponent(item, defaultScrollTopOptions)\r\n      }\r\n    })\r\n  }\r\n\r\n  public static createInsance = (\r\n    selector: string,\r\n    options: IScrollTopOptions = defaultScrollTopOptions\r\n  ): ScrollTopComponent | undefined => {\r\n    const element = document.body.querySelector(selector)\r\n    if (!element) {\r\n      return\r\n    }\r\n    const item = element as HTMLElement\r\n    let scrollTop = ScrollTopComponent.getInstance(item)\r\n    if (!scrollTop) {\r\n      scrollTop = new ScrollTopComponent(item, options)\r\n    }\r\n    return scrollTop\r\n  }\r\n\r\n  public static bootstrap = () => {\r\n    ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]')\r\n  }\r\n\r\n  public static reinitialization = () => {\r\n    ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]')\r\n  }\r\n\r\n  public static goTop = () => {\r\n    ElementAnimateUtil.scrollTop(0, defaultScrollTopOptions.speed)\r\n  }\r\n}\r\nexport {ScrollTopComponent, defaultScrollTopOptions}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ResolveEnd, Router } from '@angular/router';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { LayoutService, LayoutType } from '../../../../_metronic/core/services/layout.service';\r\nimport { PageInfoService } from '../../../../_metronic/core/services/page-info.service';\r\nimport { ToggleComponent } from '../../../../_metronic/core/components/_ToggleComponent';\r\nimport { ScrollTopComponent } from '../../../../_metronic/core/components/_ScrollTopComponent';\r\nimport { DrawerComponent } from '../../../../_metronic/core/components/_DrawerComponent';\r\nimport { MenuComponent } from '../../../../_metronic/core/components/MenuComponent';\r\nimport { ScrollComponent } from '../../../../_metronic/core/components/_ScrollComponent';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n    selector: 'app-scripts-init',\r\n    templateUrl: './scripts-init.component.html',\r\n    standalone: false\r\n})\r\nexport class ScriptsInitComponent implements OnInit, OnDestroy {\r\n  private unsubscribe: Subscription[] = [];\r\n  private layoutConfig$: Observable<LayoutType>;\r\n  constructor(\r\n    private layout: LayoutService,\r\n    private pageInfo: PageInfoService,\r\n    private router: Router\r\n  ) {\r\n    const initPageInfo = () => {\r\n      setTimeout(() => {\r\n        this.pageInfo.calculateTitle();\r\n        this.pageInfo.calculateBreadcrumbs();\r\n      }, 10);\r\n    };\r\n\r\n    initPageInfo();\r\n    // subscribe to router events\r\n    this.router.events\r\n      .pipe(filter((event) => event instanceof ResolveEnd))\r\n      .subscribe(initPageInfo);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.layoutConfig$ = this.layout.layoutConfigSubject.asObservable();\r\n    const layoutUpdateSubscription = this.layoutConfig$.subscribe(() => {\r\n      this.pluginsInitialization();\r\n    });\r\n    this.unsubscribe.push(layoutUpdateSubscription);\r\n  }\r\n\r\n  pluginsInitialization() {\r\n    setTimeout(() => {\r\n      ToggleComponent.bootstrap();\r\n      ScrollTopComponent.bootstrap();\r\n      DrawerComponent.bootstrap();\r\n      // StickyComponent.bootstrap();\r\n      MenuComponent.bootstrap();\r\n      ScrollComponent.bootstrap();\r\n    }, 200);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n  }\r\n}\r\n","","import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { LayoutService } from './_metronic/core/services/layout.service';\r\nimport { LayoutInitService } from './_metronic/core/services/layout-init.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { AuthService, BBSFTranslateService, MasterLayoutService, StylesBundleService, UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'lib-masterlayout',\r\n    templateUrl: './masterlayout.component.html',\r\n    standalone: false\r\n})\r\n\r\nexport class MasterlayoutComponent implements OnInit, AfterViewInit {\r\n  isExpanded = false;\r\n  language: string;\r\n  name: string;\r\n  isAuthenticated: boolean;\r\n  subscription: Subscription;\r\n  token: string;\r\n  // Public variables\r\n  selfLayout = 'default';\r\n  asideSelfDisplay: true;\r\n  asideMenuStatic: true;\r\n  contentClasses = '';\r\n  contentContainerClasses = '';\r\n  toolbarDisplay = true;\r\n  contentExtended: false;\r\n  asideCSSClasses: string;\r\n  asideHTMLAttributes: any = {};\r\n  headerMobileClasses = '';\r\n  headerMobileAttributes = {};\r\n  footerDisplay: boolean;\r\n  footerCSSClasses: string;\r\n  headerCSSClasses: string;\r\n  headerHTMLAttributes: any = {};\r\n  animating: boolean = false;\r\n  // offcanvases\r\n  extrasSearchOffcanvasDisplay = false;\r\n  extrasNotificationsOffcanvasDisplay = false;\r\n  extrasQuickActionsOffcanvasDisplay = false;\r\n  extrasCartOffcanvasDisplay = false;\r\n  extrasUserOffcanvasDisplay = false;\r\n  extrasQuickPanelDisplay = false;\r\n  extrasScrollTopDisplay = false;\r\n  @ViewChild('ktAside', { static: true }) ktAside: ElementRef;\r\n  @ViewChild('ktHeaderMobile', { static: true }) ktHeaderMobile: ElementRef;\r\n  @ViewChild('ktHeader', { static: true }) ktHeader: ElementRef;\r\n  currentTheme: string = \"ltr\";\r\n  // Decorator wires up blockUI instance\r\n  @BlockUI() blockUI: NgBlockUI;\r\n  constructor(\r\n    private authService: AuthService,\r\n    private UtilityService: UtilityService,\r\n    private router: Router,\r\n    private layout: LayoutService,\r\n    private initService: LayoutInitService,\r\n    private stylesBundleService: StylesBundleService,\r\n    private translateService: BBSFTranslateService,\r\n    private masterLayoutService: MasterLayoutService\r\n  ) {\r\n    this.translateService.use(this.UtilityService.getCurrentLanguage());\r\n    this.loadUI();\r\n  }\r\n\r\n  ToggleAnimation() {\r\n    this.animating = !this.animating;\r\n    setTimeout(() => {\r\n      this.animating = false;\r\n    }, 300);\r\n  }\r\n  ngOnInit() {\r\n    this.translateService.onLangChange.subscribe((event) => {\r\n      if (this.language != event.lang) {\r\n        this.masterLayoutService.reloadComponent();\r\n      }\r\n    });\r\n    this.subscription = this.authService.isAuthenticate$.subscribe(status => this.isAuthenticated = status);\r\n    this.name = this.authService.name();\r\n    this.language = localStorage.getItem('language');\r\n\r\n    this.toolbarDisplay = this.layout.getProp('toolbar.display') as boolean;\r\n    this.contentContainerClasses = this.layout.getStringCSSClasses('contentContainer');\r\n    this.asideCSSClasses = this.layout.getStringCSSClasses('aside');\r\n    this.headerCSSClasses = this.layout.getStringCSSClasses('header');\r\n    this.headerHTMLAttributes = this.layout.getHTMLAttributes('headerMenu');\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.ktHeader) {\r\n      for (const key in this.headerHTMLAttributes) {\r\n        if (this.headerHTMLAttributes.hasOwnProperty(key)) {\r\n          this.ktHeader.nativeElement.attributes[key] =\r\n            this.headerHTMLAttributes[key];\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  loadUI() {\r\n    let lang = this.UtilityService.getCurrentLanguage();\r\n    this.stylesBundleService.loadThemes(lang, \"BBSF-Bundle.css\", \"BBSF-Bundle-RTL.css\");\r\n    this.initService.init();\r\n  }\r\n\r\n  async signOut() {\r\n    await this.authService.signOut();\r\n  }\r\n\r\n  collapse() {\r\n    this.isExpanded = false;\r\n  }\r\n\r\n  toggle() {\r\n    this.isExpanded = !this.isExpanded;\r\n  }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"d-flex flex-column flex-root h-100\">\r\n  <div class=\"page d-flex flex-row flex-column-fluid\">\r\n    <app-aside\r\n      id=\"kt_aside\"\r\n      (click)=\"ToggleAnimation()\"\r\n      [class]=\"animating ? 'animating' : 'notanimating'\"\r\n      data-kt-drawer=\"true\"\r\n      data-kt-drawer-name=\"aside\"\r\n      data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n      data-kt-drawer-overlay=\"true\"\r\n      data-kt-drawer-width=\"{default:'200px', '300px': '250px'}\"\r\n      data-kt-drawer-direction=\"start\"\r\n      data-kt-drawer-toggle=\"#kt_aside_mobile_toggle\"\r\n      class=\"aside\"\r\n      [ngClass]=\"asideCSSClasses\"></app-aside>\r\n    <div class=\"wrapper d-flex flex-column flex-row-fluid\" id=\"kt_wrapper\">\r\n      <app-header id=\"kt_header\" [ngClass]=\"headerCSSClasses\" class=\"header align-items-stretch\" #ktHeader></app-header>\r\n      <div id=\"kt_content\" class=\"content d-flex flex-column flex-column-fluid\">\r\n        <ng-container *ngIf=\"toolbarDisplay\">\r\n          <app-toolbar class=\"toolbar\" id=\"kt_toolbar\"></app-toolbar>\r\n        </ng-container>\r\n\r\n        <div class=\"post d-flex flex-column-fluid\" id=\"kt_post\">\r\n          <div id=\"kt_content_container\" class=\"container-fluid p-0\">\r\n            <router-outlet></router-outlet>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <app-footer class=\"footer py-4 d-flex flex-lg-column\" id=\"kt_footer\"></app-footer>\r\n    </div>\r\n  </div>\r\n</div>\r\n<app-scripts-init></app-scripts-init>\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService, EnvironmentService, MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n  public allowedPermission: number[] = [];\r\n  public homeURL: string = \"\";\r\n  constructor(private router: Router, private authService: AuthService, private masterLayoutService: MasterLayoutService) {\r\n  }\r\n\r\n  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {\r\n    // Check if refresh is in progress\r\n    const refreshLockKey = 'auth_refreshing_lock';\r\n    const lockValue = localStorage.getItem(refreshLockKey);\r\n    const isRefreshing = !!lockValue && Date.now() - parseInt(lockValue) < 5000;\r\n\r\n    if (isRefreshing) {\r\n      // Wait for refresh to complete by polling the lock\r\n      return new Observable<boolean>(observer => {\r\n        const checkInterval = setInterval(() => {\r\n          const currentLock = localStorage.getItem(refreshLockKey);\r\n          const stillRefreshing = currentLock && Date.now() - parseInt(currentLock) < 5000;\r\n\r\n          if (!stillRefreshing) {\r\n            clearInterval(checkInterval);\r\n            observer.next(this.evaluateAuth(route, state));\r\n            observer.complete();\r\n          }\r\n        }, 100); // Check every 100ms\r\n\r\n        // Timeout after 10 seconds\r\n        setTimeout(() => {\r\n          clearInterval(checkInterval);\r\n          observer.next(this.evaluateAuth(route, state));\r\n          observer.complete();\r\n        }, 10000);\r\n      });\r\n    }\r\n\r\n    return this.evaluateAuth(route, state);\r\n  }\r\n\r\n  private evaluateAuth(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n    const isAuth = this.authService.isAuthenticated();\r\n\r\n    if (isAuth) {\r\n      let currentSelectedPermissionSetID = Number.parseInt(AuthService.user.profile[\"selectedpermissionsetid\"]);\r\n      let excludedUrls = ['Admin/Home'];\r\n      let isExcludedUrl = excludedUrls.some(url => state.url.toLocaleLowerCase().includes(url.toLocaleLowerCase()));\r\n      let adminPermissionSetsIds = [1, 2];\r\n\r\n      if (currentSelectedPermissionSetID && !adminPermissionSetsIds.includes(currentSelectedPermissionSetID) && isExcludedUrl)\r\n        return this.navigateToUserArea(currentSelectedPermissionSetID);\r\n\r\n      if (this.allowedPermission.length == 0 || this.authService.isUserPermissionSetsInRoles(this.allowedPermission))\r\n        return true;\r\n\r\n      return this.navigateToUserArea(currentSelectedPermissionSetID);\r\n    }\r\n    else {\r\n      this.authService.setUrl(state.url);\r\n      this.router.navigate(['/Admin/account/login'], { queryParams: { redirect: state.url }, replaceUrl: true });\r\n      return false;\r\n    }\r\n  }\r\n\r\n  private navigateToUserArea(userPermissionSetID: number): boolean {\r\n    if (EnvironmentService.AreaList.length > 0) {\r\n      let area = EnvironmentService.AreaList.filter((item) => item.permissionSetID == userPermissionSetID)[0];\r\n      if (area) {\r\n        this.router.navigate([area.areaUrl], { replaceUrl: true });\r\n        return true;\r\n      }\r\n      else {\r\n        let error = \"You are trying to access undefined area.\";\r\n        this.masterLayoutService.logError(error).subscribe(\r\n          (res) => {\r\n            this.router.navigate([`/Admin/account/error/${res}/${error}`]);\r\n          }\r\n        );\r\n        return false;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService, EnvironmentService, MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { AuthGuard } from './auth.guard';\r\n\r\n\r\n@Injectable()\r\nexport class AdminGuard extends AuthGuard {\r\n  constructor(router: Router, authService: AuthService, masterLayoutService: MasterLayoutService, private environmentService: EnvironmentService) {\r\n    super(router, authService, masterLayoutService);\r\n    this.allowedPermission = [1];\r\n    if (environmentService.getAllowMultiTenancy())\r\n      this.allowedPermission.push(2);\r\n  }\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n    name: 'filter',\r\n    standalone: false\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n  transform(cards: any, searchText: string): any {\r\n    console.log(cards); //this shows in the console\r\n    console.log(searchText); //this does not show anything in the console when typing\r\n    if (!searchText) {\r\n      return cards;\r\n    }\r\n    return cards.filter((card) => {\r\n      return card.title.toLowerCase().match(searchText.toLowerCase());\r\n    });\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PageInfoService } from '../../_metronic/core/services/page-info.service';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, InputType, TextBoxOptions, FilterItem, PermissionSets } from '@bnsights/bbsf-controls';\r\nimport { AuthService, UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'lib-home',\r\n    templateUrl: './home.component.html',\r\n    standalone: false\r\n})\r\nexport class HomeComponent implements OnInit {\r\n  searchTextBox: TextBoxOptions;\r\n  HomeSearch = new FormGroup({});\r\n  TextInputFilter: FilterItem;\r\n  searchText: '';\r\n  currentUserProfile: any;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  cards: any[] = [];\r\n  constructor(\r\n    public utilityService: UtilityService,\r\n    private pageInfoService: PageInfoService,\r\n    private authService: AuthService\r\n  ) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == PermissionSets.Admin;\r\n\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Home\");\r\n    PageInfoService.PageBreadcrumbs = [];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.viewType = ControlLayout.Vertical;\r\n    this.searchTextBox.autoComplete = \"off\";\r\n    this.searchTextBox.placeholder = \"search\";\r\n\r\n    this.cards = [\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Users\"),\r\n        img: \"./src/assets/images/menu/user.svg\",\r\n        link: \"/Admin/Users\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"ActiveDirectory\"),\r\n        img: \"./src/assets/images/menu/Folder.svg\",\r\n        link: \"/Admin/ADConnection\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Configuration\"),\r\n        img: \"./src/assets/images/menu/Tools.svg\",\r\n        link: \"/Admin/Configurations/Configuration\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Authentication\"),\r\n        img: \"./src/assets/images/menu/authentication.svg\",\r\n        link: \"/Admin/Configurations/authentication-configuration\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Jobs\"),\r\n        img: \"./src/assets/images/menu/Briefcase.svg\",\r\n        link: \"/Admin/Jobs\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"License\"),\r\n        img: \"./src/assets/images/menu/License.svg\",\r\n        link: \"/Admin/License\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Localization\"),\r\n        img: \"./src/assets/images/menu/Localization.svg\",\r\n        link: \"/Admin/Localization\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Logs\"),\r\n        img: \"./src/assets/images/menu/File.svg\",\r\n        link: \"/Admin/Logs\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"ServiceProviders\"),\r\n        img: \"./src/assets/images/menu/ServiceProvider.svg\",\r\n        link: \"/Admin/Providers\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"PublicHolidays\"),\r\n        img: \"./src/assets/images/menu/PublicHolidays.svg\",\r\n        link: \"/Admin/PublicHolidays\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Workflows\"),\r\n        img: \"./src/assets/images/menu/Workflows.svg\",\r\n\r\n        link: \"/Admin/Workflows\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Permissions\"),\r\n        img: \"./src/assets/images/menu/Locked-folder.svg\",\r\n        link: \"/Admin/Roles/Permissions\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"PermissionSets\"),\r\n        img: \"./src/assets/images/menu/Locked-folder.svg\",\r\n        link: \"/Admin/Roles/PermissionSets\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"EmailTemplates\"),\r\n        img: \"./src/assets/images/menu/Templates.svg\",\r\n        link: \"/Admin/Notifications/Templates\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"EmailHeaderFooterTemplates\"),\r\n        img: \"./src/assets/images/menu/Mail.svg\",\r\n        link: \"/Admin/Notifications/MasterLayouts\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Lookup\"),\r\n        img: \"./src/assets/images/menu/Lookups.svg\",\r\n        link: \"/Admin/Lookups/Lookups\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"LookupGroups\"),\r\n        img: \"./src/assets/images/menu/Lookup-group.svg\",\r\n        link: \"/Admin/Lookups/LookupGroups\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"ImpersonationRules\"),\r\n        img: \"./src/assets/images/menu/Impersonation.svg\",\r\n        link: \"/Admin/ImpersonationRules\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Departments\"),\r\n        img: \"./src/assets/images/menu/Department.svg\",\r\n        link: \"/Admin/Departments\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Sectors\"),\r\n        img: \"./src/assets/images/menu/Sectors.svg\",\r\n        link: \"/Admin/Sectors\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"FAQs\"),\r\n        img: \"./src/assets/images/menu/HelpCenter.svg\",\r\n        link: \"/Admin/HelpCenter\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"DocumentTemplates\"),\r\n        img: \"./src/assets/images/menu/Templates.svg\",\r\n        link: \"/Admin/Documents/Templates\"\r\n      },\r\n      {\r\n        title: this.utilityService.getResourceValue(\"DocumentHeaderFooterTemplates\"),\r\n        img: \"./src/assets/images/menu/MasterLayout_Document.svg\",\r\n        link: \"/Admin/Documents/MasterLayouts\"\r\n      }\r\n    ];\r\n\r\n    if (this.isSuperAdmin) {\r\n      this.cards.push({\r\n        title: this.utilityService.getResourceValue(\"Organization\"),\r\n        img: \"./src/assets/images/menu/organization.svg\",\r\n        link: \"/Admin/organization/list\"\r\n      });\r\n    }\r\n\r\n  }\r\n\r\n\r\n}\r\n","<app-toolbar class=\"toolbar\" id=\"kt_toolbar\">\r\n  <div class=\"subheadertoolbar\">\r\n    <div class=\"position-relative home-search\">\r\n      <span class=\"svg-icon svg-icon-2 svg-icon-lg-1 svg-icon-primary position-absolute top-50 ms-5 translate-middle-y\">\r\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n          <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\" transform=\"rotate(45 17.0365 15.1223)\" fill=\"black\" />\r\n          <path\r\n            d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n            fill=\"black\" />\r\n        </svg>\r\n      </span>\r\n      <input type=\"search\" [(ngModel)]=\"searchText\" placeholder=\"{{utilityService.getResourceValue('Search')}}\"\r\n        class=\"form-control bnsights-control ps-15 home-search\" />\r\n    </div>\r\n\r\n\r\n    <!-- <form [formGroup]=\"HomeSearch\">\r\n    <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"HomeSearch\" [(ngModel)]=\"searchText\"></BBSF-TextBox>\r\n  </form> -->\r\n  </div>\r\n</app-toolbar>\r\n\r\n<div class=\"container-fluid\">\r\n  <div class=\"row g-6 g-xl-9 mb-6 mb-xl-9\">\r\n    <div class=\"col-md-6 col-lg-3 col-xl-3\" *ngFor=\"let card of cards | filter : searchText\">\r\n      <a class=\"card h-100\" [routerLink]=\"[card.link]\" routerLinkActive=\"router-link-active\">\r\n        <div class=\"card-body d-flex justify-content-center text-center flex-column p-8\">\r\n          <div class=\"text-gray-800 text-hover-primary d-flex flex-column\">\r\n            <div class=\"symbol symbol-75px mb-5\">\r\n              <span [inlineSVG]=\"card.img\" class=\"svg-icon svg-icon-2 svg-icon-dark\"></span>\r\n            </div>\r\n            <div class=\"fs-5 fw-bolder mb-2\">{{card.title}}</div>\r\n          </div>\r\n        </div>\r\n      </a>\r\n    </div>\r\n  </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolbarComponent } from './toolbar.component';\r\nimport { PageTitleComponent } from '../header/page-title/page-title.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n  declarations: [ToolbarComponent,PageTitleComponent],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule\r\n  ],\r\n  exports: [ToolbarComponent],\r\n})\r\n\r\nexport class ToolbarModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from '../home/home.component';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { BBSFUtilitiesModule, UtilityService, BBSFTranslateService } from '@bnsights/bbsf-utilities';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToolbarModule } from '../_layout/components/toolbar/toolbar.module';\r\nimport { FilterPipe } from './filter-pipe';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: '', component: HomeComponent\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  declarations: [HomeComponent, FilterPipe],\r\n  imports: [\r\n    CommonModule,\r\n    InlineSVGModule,\r\n    RouterModule.forChild(routes),\r\n    ToolbarModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    BBSFControlsModule,\r\n  ],\r\n  providers: [\r\n  ]\r\n})\r\nexport class HomeModule { }\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class EditResourceModel {\r\n      ResourceId: string;\r\n      ResourceSet: string;\r\n      ValueDTO: EnglishArabicDTO = new EnglishArabicDTO();\r\n      CommentDTO: EnglishArabicDTO = new EnglishArabicDTO();\r\n}   ","import { FileDTO } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class UploadJsonVM {\r\n      ResourcesFile: FileDTO;\r\n      SelectedResourceSet: string;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { EditResourceModel } from \"../models/LocalizationModels/EditResourceModel\";\r\nimport { UploadJsonVM } from \"../models/LocalizationModels/UploadJsonVM\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { LocalizationReplaceTextModel } from \"../models/LocalizationModels/LocalizationReplaceTextModel\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class localizationsService {\r\n  ApiUrl = \"/api/admin/Localizations/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loadDropdown() {\r\n    return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n  }\r\n\r\n  getResource(resourceSet: string, resourceId: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"resourceSet\", resourceSet);\r\n    params = params.append(\"resourceId\", resourceId);\r\n    return this.http.get(this.ApiUrl + 'EditResource', params);\r\n  }\r\n\r\n  generateBBSFResourceClass() {\r\n    return this.http.get(this.ApiUrl + 'GenerateBBSFResourceClass');\r\n  }\r\n  generateAppResourceClass() {\r\n    return this.http.get(this.ApiUrl + 'GenerateAppResourceClass');\r\n  }\r\n  addResource(AddResourceModel: EditResourceModel) {\r\n    return this.http.post(this.ApiUrl + 'AddResource', AddResourceModel);\r\n  }\r\n\r\n  editResource(EditResourceModel: EditResourceModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditResource', EditResourceModel);\r\n  }\r\n  restResourceToFactoryDefault(EditResourceModel: EditResourceModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'RestResourceToFactoryDefault', EditResourceModel);\r\n  }\r\n\r\n\r\n\r\n  uploadExcelFiles(UploadJsonVM: UploadJsonVM) {\r\n\r\n    return this.http.post(this.ApiUrl + 'UploadExcelFiles', UploadJsonVM);\r\n  }\r\n\r\n\r\n  deleteResource(resourceSet: string, resourceId: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"resourceSet\", resourceSet);\r\n    params = params.append(\"resourceId\", resourceId);\r\n    return this.http.post(this.ApiUrl + 'DeleteResource', null, null, params);\r\n  }\r\n\r\n  reloadJsonFile() {\r\n    return this.http.get(this.ApiUrl + 'ReloadJsonFile');\r\n  }\r\n\r\n\r\n  restToFactoryDefault() {\r\n\r\n    return this.http.get(this.ApiUrl + 'RestToFactoryDefault');\r\n  }\r\n\r\n\r\n  restUnmodifiedToFactoryDefault() {\r\n\r\n    return this.http.get(this.ApiUrl + 'RestUnmodifiedToFactoryDefault');\r\n  }\r\n\r\n\r\n  generateStronglyTypedClass() {\r\n\r\n    return this.http.get(this.ApiUrl + 'GenerateStronglyTypedClass');\r\n  }\r\n\r\n\r\n\r\n  export(filtersModel: any) {\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.responseType = \"arraybuffer\";\r\n    options.castResponsetoClass = false;\r\n    return this.http.post(this.ApiUrl + 'Export', filtersModel, null, null, options);\r\n  }\r\n\r\n  findResource(findModel: LocalizationReplaceTextModel) {\r\n    return this.http.post(this.ApiUrl + 'FindResource', findModel);\r\n  }\r\n\r\n  replaceResource(findModel: LocalizationReplaceTextModel) {\r\n    return this.http.post(this.ApiUrl + 'ReplaceResource', findModel);\r\n  }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'lib-empty-data',\r\n    templateUrl: './empty-data.component.html',\r\n    standalone: false\r\n})\r\nexport class EmptyDataComponent implements OnInit {\r\n\r\n  constructor(private utilityService: UtilityService) { }\r\n\r\n  @Input() Message: string;\r\n  @Input() ShowImage: boolean;\r\n  @Input() ImgURL: string;\r\n\r\n  ngOnInit(): void {\r\n    if (!this.ImgURL)\r\n      this.ImgURL = \"../../assets/images/noimage.png\";\r\n    if (!this.Message)\r\n      this.Message = this.getResourceValue(\"NA\");\r\n  }\r\n  getResourceValue(Key) {\r\n    return this.utilityService.getResourceValue(Key);\r\n  }\r\n\r\n}\r\n","\r\n<div class=\"text-center\" style=\"padding: 25px 0px\">\r\n  <img *ngIf=\"ShowImage\" src=\"\" style=\"width:20%; \" />\r\n  <div class=\"font-not-available\">\r\n    {{Message}}\r\n  </div>\r\n</div>\r\n","import { Component, ElementRef, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AutocompleteOptions, DropdownOptions, FileUploadOptions, FileType, FilterItem, FilterType, InputType, PagingOptions, TextAreaOptions, TextBoxOptions, MultiLingualTextAreaOptions, EnglishArabicDTO, FormOptions, ConfirmationModalOptions, StyleConfirmationMode, PagingComponent, ConfirmationModalComponent } from '@bnsights/bbsf-controls';\r\nimport { EditResourceModel } from '../shared/models/LocalizationModels/EditResourceModel';\r\nimport { localizationsService } from '../shared/Services/localizations.service';\r\nimport { UploadJsonVM } from '../shared/models/LocalizationModels/UploadJsonVM';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { DatePipe } from '@angular/common';\r\nimport { PageInfoService } from '../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { saveAs } from 'file-saver';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'lib-localizations',\r\n  templateUrl: './localizations.component.html',\r\n  styleUrls: ['./localizations.component.css'],\r\n  standalone: false\r\n})\r\nexport class LocalizationsComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.localizationsService.ApiUrl;\r\n  ProductionMode: boolean;\r\n\r\n  //Filter and paging components\r\n  resourceSetOptions: DropdownOptions;\r\n  searchTextBox: TextBoxOptions;\r\n  selectedLocalizationList = [];\r\n  resourceSetList = [];\r\n  filterForm = new FormGroup({});\r\n  localizationForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  localizationPagingResult: any[] = [];\r\n  filteredLocalizationPagingResult: any[] = [];\r\n  localizationPaging: PagingOptions;\r\n  resourceSetFilter: FilterItem;\r\n  textInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('LocalizationPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  addResourceForm = new FormGroup({});\r\n  addResourceFormOptions: FormOptions;\r\n  resourceSet: AutocompleteOptions;\r\n  resourceId: TextBoxOptions;\r\n  multiLingualValue: MultiLingualTextAreaOptions;\r\n  multiLingualComment: MultiLingualTextAreaOptions;\r\n\r\n  //Edit Model Controls\r\n  editResourceFormOptions: FormOptions;\r\n  editResourceForm = new FormGroup({});\r\n  editMultiLingualValue: MultiLingualTextAreaOptions;\r\n  editMultiLingualComment: MultiLingualTextAreaOptions;\r\n  editResourceId: string;\r\n  editResourceSet: string;\r\n\r\n  //GenerateStronglyTypedClass\r\n  generateCodeForm = new FormGroup({});\r\n  stronglyTypedClass: TextAreaOptions;\r\n  valueToCopy: string = \"\";\r\n\r\n  //Upload Model Controls\r\n  uploadJsonFileForm = new FormGroup({});\r\n  uploadJsonFileFormOptions: FormOptions;\r\n  uploadResourceSetOptions: DropdownOptions;\r\n  resourcesFileInput: FileUploadOptions;\r\n\r\n  //delete Model Controls\r\n  deleteResourceList: any[] = [];\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n\r\n\r\n  //Export Excel  Controls\r\n  exportConfirmationOptions: ConfirmationModalOptions;\r\n  exportControlLoaded: boolean = false;\r\n  exportAsTemplate: boolean = false;\r\n  @ViewChild('exportConfirmationControl', { static: false }) exportConfirmationControl: ConfirmationModalComponent;\r\n\r\n\r\n  //Reload Json Model Controls\r\n  reloadConfirmationOptions: ConfirmationModalOptions;\r\n  reloadControlLoaded: boolean = false;\r\n  @ViewChild('ReloadConfirmationModalControl', { static: false }) reloadConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n\r\n  //Rest To Factory Default  Controls\r\n  restToFactoryDefaultConfirmationOptions: ConfirmationModalOptions;\r\n  restToFactoryDefaultControlLoaded: boolean = false;\r\n  @ViewChild('RestConfirmationModalControl', { static: false }) restConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n\r\n\r\n  //ResourceValidationModalControls\r\n  excelValidation: any;\r\n  @ViewChild('ShowResourceValidationModal', { static: false }) ShowResourceValidationModal: ElementRef;\r\n  @ViewChild('CloseResourceValidationModal', { static: false }) CloseResourceValidationModal: ElementRef;\r\n\r\n\r\n\r\n\r\n  constructor\r\n    (\r\n      private pageInfoService: PageInfoService,\r\n      public utilityService: UtilityService,\r\n      private environmentService: EnvironmentService,\r\n      private datePipe: DatePipe,\r\n      private _clipboardService: ClipboardService,\r\n      private localizationsService: localizationsService,\r\n      private modalService: NgbModal,\r\n      private requestHandlerService: RequestHandlerService\r\n    ) {\r\n\r\n  }\r\n\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Localization\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n  //Paging functions\r\n  setLocalizationListResult(result) {\r\n    this.localizationPagingResult = result;\r\n    this.filteredLocalizationPagingResult = this.localizationPagingResult;\r\n\r\n  }\r\n\r\n  selectAllLocalizationList(event, Localizations) {\r\n    if (event.target.checked) {\r\n      for (let index = 0; index < Localizations.length; index++) {\r\n        const Localization = Localizations[index];\r\n        const element = document.getElementById(\"Localization-\" + Localization.ResourceId);\r\n        element.setAttribute(\"checked\", \"checked\");\r\n        this.selectedLocalizationList.push(Localization);\r\n      }\r\n    }\r\n    if (!event.target.checked) {\r\n      for (let index = 0; index < Localizations.length; index++) {\r\n        const Localization = Localizations[index];\r\n        const element = document.getElementById(\"Localization-\" + Localization.ResourceId);\r\n        element.removeAttribute(\"checked\");\r\n      }\r\n      this.selectedLocalizationList = [];\r\n    }\r\n  }\r\n\r\n  loadFilters() {\r\n    if (this.showFilter === false) {\r\n      this.showFilter = true;\r\n    } else {\r\n      this.showFilter = false;\r\n    }\r\n  }\r\n\r\n\r\n  initializePage() {\r\n\r\n    this.localizationsService.loadDropdown().subscribe((result) => {\r\n      this.resourceSetList = result as any;\r\n      // Resource Set Init\r\n      this.resourceSetOptions = new DropdownOptions();\r\n      this.resourceSetOptions.name = \"ResourceSet\";\r\n      this.resourceSetOptions.labelKey = \"ResourceSet\";\r\n      this.resourceSetOptions.dataSource = this.resourceSetList;\r\n      this.resourceSetOptions.singleSelection = true;\r\n      this.resourceSetOptions.allowSearchFilter = true;\r\n      this.resourceSetOptions.placeholder = \"\";\r\n\r\n      // TextBox inti\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByValueOrResourceID\");\r\n\r\n\r\n\r\n      this.resourceSetFilter = new FilterItem();\r\n      this.resourceSetFilter.formControlName = \"ResourceSet\";\r\n      this.resourceSetFilter.actionParameterName = \"resourceSet\";\r\n      this.resourceSetFilter.isFormControl = true;\r\n      this.resourceSetFilter.filterType = FilterType.DropdownList;\r\n\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = \"searchTextBox\";\r\n      this.textInputFilter.actionParameterName = \"resourceName\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n      this.localizationPaging = new PagingOptions();\r\n      this.localizationPaging.actionPostURL = this.ApiUrl + 'GetLocalizationsByFilter';\r\n      this.localizationPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n      this.localizationPaging.dropdownFiltersControlNames = [\"ResourceSet\"];\r\n      this.localizationPaging.filters = [this.resourceSetFilter, this.textInputFilter];\r\n      this.localizationPaging.resetFilterButtonName = \"localizationsFiltersBtn\";\r\n\r\n      this.isFilterLoaded = true;\r\n\r\n    });\r\n  }\r\n\r\n\r\n  ///////////Start of Export part//////////////////////\r\n  showExportExcelModal(ExportAsTemplate: boolean = false) {\r\n    this.exportAsTemplate = ExportAsTemplate;\r\n\r\n    this.exportControlLoaded = false;\r\n    this.exportConfirmationOptions = new ConfirmationModalOptions();\r\n    this.exportConfirmationOptions.serviceSubmitFunction = this.exportExcelFunction;\r\n    this.exportConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.exportConfirmationOptions.onSuccessHandler = this.onExportSuccessHandler;\r\n    this.exportConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"ExportResourcesConfirmation\");\r\n    this.exportConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"ExportResources\");\r\n    this.exportConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Export\");\r\n    this.exportConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Warning;\r\n    this.exportConfirmationOptions.successNotificationMessage = this.utilityService.getResourceValue(\"SuccessMessage\");\r\n    this.exportControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.exportConfirmationControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  exportExcelFunction = (params): Observable<any> => {\r\n    let filters = this.pagingElement.getFiltersValue();\r\n    filters[\"exportAsTemplate\"] = this.exportAsTemplate;\r\n\r\n    return this.localizationsService.export(filters);\r\n  };\r\n  onExportSuccessHandler = (result) => {\r\n    let FileDTO = result as any;\r\n    const file = new Blob([FileDTO], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n    saveAs(file, this.utilityService.getResourceValue(\"Resources\") + `${this.datePipe.transform(new Date(), \"dd-MM-YYYY hh:mm\").toString()}.xlsx`);\r\n    window.location.reload();\r\n\r\n  };\r\n  ///////////End of Export part//////////////////////\r\n\r\n\r\n\r\n\r\n\r\n  ///////////// Start add Resource Part//////////////////////\r\n  showAddResourceModal(addResourceModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addResourceForm = new FormGroup({});\r\n\r\n    this.addResourceFormOptions = new FormOptions();\r\n    this.addResourceFormOptions.formGroup = this.addResourceForm;\r\n    this.addResourceFormOptions.getModelFunction = this.getAddResourceModal;\r\n    this.addResourceFormOptions.serviceSubmitFunction = this.getAddResourceFunction;\r\n    this.addResourceFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.resourceSet = new AutocompleteOptions();\r\n    this.resourceSet.name = \"ResourceSet\";\r\n    this.resourceSet.labelKey = \"ResourceSet\";\r\n    this.resourceSet.type = InputType.Text;\r\n    this.resourceSet.isRequired = true;\r\n    this.resourceSet.allowNewSelection = true;\r\n    this.resourceSet.value = null;\r\n    this.resourceSet.actionURL = this.ApiUrl + \"AutoCompleteResourceSet\";\r\n\r\n    this.resourceId = new TextBoxOptions();\r\n    this.resourceId.name = \"ResourceId\";\r\n    this.resourceId.labelKey = \"ResourceId\";\r\n    this.resourceId.type = InputType.Text;\r\n    this.resourceId.value = null;\r\n    this.resourceId.isRequired = true;\r\n    this.resourceId.maxLength = 1024;\r\n\r\n    this.multiLingualValue = new MultiLingualTextAreaOptions();\r\n    this.multiLingualValue.name = \"ValueDTO\";\r\n    this.multiLingualValue.arabicLabelKey = \"ValueInArabic\";\r\n    this.multiLingualValue.englishLabelKey = \"ValueInEnglish\";\r\n    this.multiLingualValue.isRequired = true;\r\n    this.multiLingualValue.maxLength = 5000;\r\n\r\n    this.multiLingualComment = new MultiLingualTextAreaOptions();\r\n    this.multiLingualComment.name = \"CommentDTO\";\r\n    this.multiLingualComment.arabicLabelKey = \"CommentInArabic\";\r\n    this.multiLingualComment.englishLabelKey = \"CommentInEnglish\";\r\n    this.multiLingualComment.maxLength = 5000;\r\n\r\n\r\n    this.modalService.open(addResourceModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  getAddResourceModal = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addResourceForm.value as any;\r\n    let AddModel = new EditResourceModel();\r\n    AddModel.ResourceId = ResultModel.ResourceId;\r\n    AddModel.ResourceSet = ResultModel.ResourceSet.value;\r\n    AddModel.ValueDTO = ResultModel.ValueDTO;\r\n    AddModel.CommentDTO = ResultModel.CommentDTO;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddResourceFunction = (AddModel): Observable<any> => {\r\n    return this.localizationsService.addResource(AddModel);\r\n  };\r\n  //////////// End of add Resource part///////////////////////\r\n\r\n\r\n\r\n\r\n\r\n\r\n  ///////////Start of edit Resource part//////////////////////\r\n  showEditResourceModal(resource: any, editResourceModal) {\r\n\r\n    this.editResourceForm = new FormGroup({});\r\n\r\n    this.editResourceId = resource.resourceId;\r\n    this.editResourceSet = resource.resourceSet;\r\n\r\n    this.editResourceFormOptions = new FormOptions();\r\n    this.editResourceFormOptions.formGroup = this.editResourceForm;\r\n    this.editResourceFormOptions.getModelFunction = this.getEditResourceModel;\r\n    this.editResourceFormOptions.serviceSubmitFunction = this.getEditResourceFunction;\r\n    this.editResourceFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n\r\n    this.localizationsService.getResource(this.editResourceSet, this.editResourceId).subscribe((result: any) => {\r\n      let Resource = result.model as any;\r\n      let Value = new EnglishArabicDTO();\r\n      Value.arabic = Resource.valueDTO.arabic;\r\n      Value.english = Resource.valueDTO.english;\r\n\r\n      this.editMultiLingualValue = new MultiLingualTextAreaOptions();\r\n      this.editMultiLingualValue.name = \"ValueDTO\";\r\n      this.editMultiLingualValue.arabicLabelKey = \"ValueInArabic\";\r\n      this.editMultiLingualValue.englishLabelKey = \"ValueInEnglish\";\r\n      this.editMultiLingualValue.isRequired = true;\r\n      this.editMultiLingualValue.value = Value;\r\n      this.editMultiLingualValue.maxLength = 5000;\r\n\r\n\r\n      let Comment = new EnglishArabicDTO();\r\n      Comment.arabic = Resource.commentDTO.arabic;\r\n      Comment.english = Resource.commentDTO.english;\r\n\r\n      this.editMultiLingualComment = new MultiLingualTextAreaOptions();\r\n      this.editMultiLingualComment.name = \"CommentDTO\";\r\n      this.editMultiLingualComment.arabicLabelKey = \"CommentInArabic\";\r\n      this.editMultiLingualComment.englishLabelKey = \"CommentInEnglish\";\r\n      this.editMultiLingualComment.value = Comment;\r\n      this.editMultiLingualComment.maxLength = 5000;\r\n\r\n      this.modalService.open(editResourceModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditResourceModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editResourceForm.value as any;\r\n    let EditModel = new EditResourceModel();\r\n    EditModel.ResourceId = this.editResourceId;\r\n    EditModel.ResourceSet = this.editResourceSet;\r\n    EditModel.ValueDTO = ResultModel.ValueDTO;\r\n    EditModel.CommentDTO = ResultModel.CommentDTO;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditResourceFunction = (EditModel): Observable<any> => {\r\n    return this.localizationsService.editResource(EditModel);\r\n  };\r\n  ///////////End of edit Resource part//////////////////////\r\n\r\n\r\n\r\n\r\n  ///////////Start of delete Resource part//////////////////////\r\n  showDeleteResourceModal(resource: any) {\r\n\r\n    this.deleteControlLoaded = false;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(resource.resourceSet);\r\n    paramArray.push(resource.resourceId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteResourceFunction;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteResourceFunction = (resourceSet, resourceId): Observable<any> => {\r\n    return this.localizationsService.deleteResource(resourceSet, resourceId);\r\n  };\r\n  ///////////End of delete Resource part//////////////////////\r\n\r\n\r\n  ///////////Start of  Reload Resource part//////////////////////\r\n  showReloadResourceModal() {\r\n\r\n    this.reloadControlLoaded = false;\r\n\r\n    this.reloadConfirmationOptions = new ConfirmationModalOptions();\r\n    this.reloadConfirmationOptions.serviceSubmitFunction = this.reloadResourceFunction;\r\n    this.reloadConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.reloadConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"ReloadResourcesConfirmation\");\r\n    this.reloadConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"ReloadResources\");\r\n    this.reloadConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Reload\");\r\n    this.reloadConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Danger;\r\n    this.reloadConfirmationOptions.successNotificationMessage = this.utilityService.getResourceValue(\"SuccessMessage\");\r\n\r\n\r\n    this.reloadControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.reloadConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  reloadResourceFunction = (): Observable<any> => {\r\n    return this.localizationsService.reloadJsonFile();\r\n  };\r\n  ///////////End of Reload Resource part//////////////////////\r\n\r\n\r\n\r\n  ///////////Start of RestToFactoryDefault part//////////////////////\r\n  showRestToFactoryDefault() {\r\n\r\n    this.restToFactoryDefaultControlLoaded = false;\r\n\r\n    this.restToFactoryDefaultConfirmationOptions = new ConfirmationModalOptions();\r\n    this.restToFactoryDefaultConfirmationOptions.serviceSubmitFunction = this.restToFactoryDefaultFunction;\r\n    this.restToFactoryDefaultConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.restToFactoryDefaultConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"ResetToFactoryConfirmation\");\r\n    this.restToFactoryDefaultConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"ResetToFactoryDefault\");\r\n    this.restToFactoryDefaultConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Rest\");\r\n    this.restToFactoryDefaultConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Warning;\r\n    this.restToFactoryDefaultConfirmationOptions.successNotificationMessage = this.utilityService.getResourceValue(\"SuccessMessage\");\r\n\r\n    this.restToFactoryDefaultControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.restConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  restToFactoryDefaultFunction = (): Observable<any> => {\r\n    return this.localizationsService.restToFactoryDefault();\r\n  };\r\n  ///////////End of RestToFactoryDefault part//////////////////////\r\n\r\n\r\n\r\n  ///////////Start of GenerateStronglyTypedClass part//////////////////////\r\n\r\n  generateStronglyTypedClass(generateStronglyTypedModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n    this.localizationsService.generateStronglyTypedClass().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.stronglyTypedClass = new TextAreaOptions();\r\n      this.stronglyTypedClass.name = \"GenerateCodeTextArea\";\r\n      this.stronglyTypedClass.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.stronglyTypedClass.isDisabled = true;\r\n      this.stronglyTypedClass.hideLabel = true;\r\n      this.stronglyTypedClass.rows = 20;\r\n      this.stronglyTypedClass.cols = 20;\r\n      this.stronglyTypedClass.maxLength = 1000000;\r\n      this.modalService.open(generateStronglyTypedModal);\r\n    });\r\n  }\r\n\r\n  generateBBSFResourceClass(generateModal) {\r\n    this.generateCodeForm = new FormGroup({});\r\n    this.localizationsService.generateBBSFResourceClass().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.stronglyTypedClass = new TextAreaOptions();\r\n      this.stronglyTypedClass.name = \"GenerateCodeTextArea\";\r\n      this.stronglyTypedClass.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.stronglyTypedClass.isDisabled = true;\r\n      this.stronglyTypedClass.hideLabel = true;\r\n      this.stronglyTypedClass.rows = 20;\r\n      this.stronglyTypedClass.cols = 20;\r\n      this.stronglyTypedClass.maxLength = 1000000;\r\n      this.modalService.open(generateModal);\r\n    });\r\n  }\r\n\r\n  generateAppResourceClass(generateModal) {\r\n    this.generateCodeForm = new FormGroup({});\r\n    this.localizationsService.generateAppResourceClass().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.stronglyTypedClass = new TextAreaOptions();\r\n      this.stronglyTypedClass.name = \"GenerateCodeTextArea\";\r\n      this.stronglyTypedClass.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.stronglyTypedClass.isDisabled = true;\r\n      this.stronglyTypedClass.hideLabel = true;\r\n      this.stronglyTypedClass.rows = 20;\r\n      this.stronglyTypedClass.cols = 20;\r\n      this.stronglyTypedClass.maxLength = 1000000;\r\n      this.modalService.open(generateModal);\r\n    });\r\n  }\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.valueToCopy.toString());\r\n  }\r\n\r\n  ///////////End of GenerateStronglyTypedClass part//////////////////////\r\n\r\n\r\n  // RestResourceToFactoryDefault(Resource:any) {\r\n  //     let ResourceModel = new EditResourceModel();\r\n  //     ResourceModel.ResourceId = Resource.resourceId;\r\n  //     ResourceModel.ResourceSet = Resource.resourceSet;\r\n  //     ResourceModel.ValueEN = \"\";\r\n  //     ResourceModel.ValueAR =\"\";\r\n  //     ResourceModel.CommentEn = \"\";\r\n  //     ResourceModel.CommentAr = \"\";\r\n  //     this.localizationsService.RestResourceToFactoryDefault(ResourceModel).subscribe((result) => {\r\n\r\n  //       let element = this.input as any;\r\n  //       element.UpdatePaging();\r\n  //     })\r\n\r\n  // }\r\n\r\n\r\n\r\n  // ReloadJsonFile() {\r\n  //   this.localizationsService.ReloadJsonFile().subscribe((result) => {\r\n  //     this.modalService.dismissAll();\r\n  //     let element = this.input as any;\r\n  //     element.UpdatePaging();\r\n  //   }, (error) => {\r\n  //   })\r\n  // }\r\n\r\n  // RestToFactoryDefault() {\r\n  //  this.localizationsService.RestToFactoryDefault().subscribe((result) => {\r\n  //     this.modalService.dismissAll();\r\n  //     let element = this.input as any;\r\n  //     element.UpdatePaging();\r\n  //   }, (error) => {\r\n\r\n  //   })\r\n  // }\r\n\r\n  // RestUnmodifiedToFactoryDefault() {\r\n  //   this.localizationsService.RestUnmodifiedToFactoryDefault().subscribe((result) => {\r\n  //     let element = this.input as any;\r\n  //     element.UpdatePaging();\r\n  //   }, (error) => {\r\n\r\n  //   })\r\n  // }\r\n\r\n\r\n\r\n\r\n\r\n  ///////////// Start Upload Resource Part//////////////////////\r\n  showUploadModal(uploadResourceModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.uploadJsonFileForm = new FormGroup({});\r\n\r\n    this.uploadJsonFileFormOptions = new FormOptions();\r\n    this.uploadJsonFileFormOptions.formGroup = this.uploadJsonFileForm;\r\n    this.uploadJsonFileFormOptions.getModelFunction = this.getUploadModal;\r\n    this.uploadJsonFileFormOptions.serviceSubmitFunction = this.getUploadFunction;\r\n    this.uploadJsonFileFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n    this.uploadJsonFileFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.uploadResourceSetOptions = new DropdownOptions();\r\n    this.uploadResourceSetOptions.name = \"SelectedResourceSet\";\r\n    this.uploadResourceSetOptions.labelKey = \"ResourceSet\";\r\n    this.uploadResourceSetOptions.dataSource = this.resourceSetList;\r\n    this.uploadResourceSetOptions.singleSelection = true;\r\n    this.uploadResourceSetOptions.allowSearchFilter = true;\r\n    this.uploadResourceSetOptions.placeholder = \"\";\r\n\r\n\r\n    this.resourcesFileInput = new FileUploadOptions();\r\n    this.resourcesFileInput.name = \"ResourcesFile\";\r\n    this.resourcesFileInput.labelKey = \"UploadFile\";\r\n    this.resourcesFileInput.isMultipleFile = false;\r\n    this.resourcesFileInput.fileUploadAcceptsTypes = [FileType.Excel];\r\n    this.resourcesFileInput.fileMaxSizeInMB = 10;\r\n    this.resourcesFileInput.isRequired = true;\r\n\r\n    this.modalService.open(uploadResourceModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  getUploadModal = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.uploadJsonFileForm.value as any;\r\n    let ResourceModel = new UploadJsonVM();\r\n    ResourceModel.SelectedResourceSet = ResultModel.SelectedResourceSet;\r\n    ResourceModel.ResourcesFile = {\r\n      fileBase64: ResultModel[\"ResourcesFile\"].File.FileBase64,\r\n      fileName: ResultModel[\"ResourcesFile\"].File.FileName,\r\n      fileSizeInMB: ResultModel[\"ResourcesFile\"].File.FileSizeInMB,\r\n      fileType: ResultModel[\"ResourcesFile\"].File.FileType,\r\n      isNew: true\r\n    };\r\n    paramArray.push(ResourceModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getUploadFunction = (ResourceModel): Observable<any> => {\r\n    return this.localizationsService.uploadExcelFiles(ResourceModel);\r\n  };\r\n  onSuccessHandler = (result) => {\r\n    this.excelValidation = result.val;\r\n    let showButton = this.ShowResourceValidationModal as any;\r\n    showButton.click();\r\n  };\r\n  //////////// End of Upload Resource part///////////////////////\r\n\r\n\r\n\r\n  openResourceValidationModal(ResourceValidationModal) {\r\n    this.modalService.open(ResourceValidationModal);\r\n  }\r\n  confirmExcel() {\r\n    this.utilityService.notifySuccessMessage();\r\n    let element = this.pagingElement as any;\r\n    this.initializePage();\r\n    this.modalService.dismissAll();\r\n    element.ReinitializePaging();\r\n  }\r\n\r\n\r\n\r\n  filterLocalizationList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredLocalizationPagingResult = this.localizationPagingResult.filter(item => item.value.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredLocalizationPagingResult = this.localizationPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui> </block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <!--(OnChange)=\"filterLocalizationList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"localizationForm\"></BBSF-TextBox>\r\n\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n\r\n        <div ngbDropdown class=\"d-inline-block\">\r\n          <button ngbDropdownToggle href=\"javascript:;\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\"\r\n            id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Filter\")}}\r\n          </button>\r\n          <div *ngIf=\"isFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <div class=\"px-7 py-5\">\r\n              <div class=\"row\">\r\n                <div class=\"col-lg-12\">\r\n                  <div class=\"mb-10\">\r\n                    <BBSF-DropdownList [options]=\"resourceSetOptions\" [group]=\"localizationForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"d-flex justify-content-end\">\r\n                <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"localizationsFiltersBtn\">\r\n                  {{utilityService.getResourceValue(\"Reset\")}}\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <button (click)=\"showExportExcelModal()\" title=\"Export\" type=\"button\"\r\n          class=\"btn btn-sm btn-light-primary bnsights-btn-export me-3 \">\r\n          <i class=\"fas fa-download me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Export\")}}\r\n        </button>\r\n\r\n        <button id=\"btnActivate\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3 \"\r\n          (click)=\"showReloadResourceModal()\">\r\n          <i class=\"fas fa-sync-alt me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Reload\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary me-3 \" id=\"btnActivate\"\r\n          (click)=\"showUploadModal(UploadJsonFileModal)\">\r\n          <i class=\"fas fa-upload me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Upload\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary me-3\" (click)=\"showAddResourceModal(AddResourceModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n        <div>\r\n          <button mat-button [matMenuTriggerFor]=\"menut\" class=\"btn btn-sm btn-primary me-3 btn-icon\" title=\"options\">\r\n            <i class=\"fa fa-bars\"></i>\r\n          </button>\r\n          <mat-menu #menut=\"matMenu\" class=\"py-3 mat-menu-content\">\r\n            <button ngbDropdownItem type=\"button\" class=\"menu-item px-3\" (click)=\"showRestToFactoryDefault()\">\r\n              <span class=\"menu-link px-3\"> {{utilityService.getResourceValue(\"RestToFactoryDefault\")}}</span>\r\n            </button>\r\n            <button ngbDropdownItem *ngIf=\"!ProductionMode\" type=\"button\" class=\"menu-item px-3\"\r\n              (click)=\"generateStronglyTypedClass(GenerateStronglyTypedModal)\">\r\n              <span class=\"menu-link px-3\"> {{utilityService.getResourceValue(\"GenerateStronglyTypedClass\")}} </span>\r\n            </button>\r\n            <button ngbDropdownItem class=\"menu-item px-3\" type=\"button\"\r\n              (click)=\"generateBBSFResourceClass(GenerateStronglyTypedModal)\">\r\n              <span class=\"menu-link px-3\"> {{utilityService.getResourceValue(\"GenerateBBSFResourceClass\")}} </span>\r\n            </button>\r\n            <button ngbDropdownItem class=\"menu-item px-3\" type=\"button\"\r\n              (click)=\"generateAppResourceClass(GenerateStronglyTypedModal)\">\r\n              <span class=\"menu-link px-3\"> {{utilityService.getResourceValue(\"GenerateApplicationResourceClass\")}}\r\n              </span>\r\n            </button>\r\n            <button ngbDropdownItem class=\"menu-item px-3\" type=\"button\"\r\n              [routerLink]=\"['/Admin/Localization/ReplaceText']\">\r\n              <span class=\"menu-link px-3\"> {{utilityService.getResourceValue(\"ReplaceText\")}} </span>\r\n            </button>\r\n          </mat-menu>\r\n        </div>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!-- begin::Table -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Localization of filteredLocalizationPagingResult\">\r\n              <td class=\"text-dark\">{{Localization.resourceId}}</td>\r\n              <td>{{Localization.resourceSet}}</td>\r\n              <td>{{Localization.value}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditResourceModal(Localization,EditResourceModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteResourceModal(Localization)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredLocalizationPagingResult.length == 0\">\r\n              <td colspan=\"5\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::users list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setLocalizationListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"localizationPaging\"\r\n        [group]=\"localizationForm\" #LocalizationPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddResourceModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"AddResource\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addResourceFormOptions\">\r\n      <BBSF-AutocompleteTextBox [options]=\"resourceSet\" [group]=\"addResourceForm\">\r\n      </BBSF-AutocompleteTextBox>\r\n      <BBSF-TextBox [options]=\"resourceId\" [group]=\"addResourceForm\">\r\n      </BBSF-TextBox>\r\n      <BBSF-MultiLingualTextArea [options]=\"multiLingualValue\" [group]=\"addResourceForm\"></BBSF-MultiLingualTextArea>\r\n      <BBSF-MultiLingualTextArea [options]=\"multiLingualComment\" [group]=\"addResourceForm\"></BBSF-MultiLingualTextArea>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseResourceModal id=\"CloseResourceModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Edit Modal -->\r\n<ng-template #EditResourceModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"EditResource\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editResourceFormOptions\">\r\n      <BBSF-MultiLingualTextArea [options]=\"editMultiLingualValue\"\r\n        [group]=\"editResourceForm\"></BBSF-MultiLingualTextArea>\r\n      <BBSF-MultiLingualTextArea [options]=\"editMultiLingualComment\"\r\n        [group]=\"editResourceForm\"></BBSF-MultiLingualTextArea>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseEditResourceModal id=\"CloseEditResourceModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Upload Modal -->\r\n<ng-template #UploadJsonFileModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"UploadResources\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"uploadJsonFileFormOptions\">\r\n      <a [hidden]=\"true\" id=\"ShowResourceValidationModal\" href=\"javascript:;\"\r\n        (click)=\"openResourceValidationModal(ResourceValidationModal)\">\r\n        <i class=\"fa fa-history\"></i> {{utilityService.getResourceValue(\"show\")}}\r\n      </a>\r\n      <BBSF-FileUpload [options]=\"resourcesFileInput\" [group]=\"uploadJsonFileForm\">\r\n      </BBSF-FileUpload>\r\n      <a id=\"btnDeactivate\" href=\"javascript:;\" (click)=\"showExportExcelModal(true)\">\r\n        {{utilityService.getResourceValue(\"DownloadResourceTemplateSheet\")}}\r\n      </a>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseUploadJsonFileModal id=\"CloseUploadJsonFileModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- GenerateStronglyTypedClass  Modal -->\r\n<ng-template #GenerateStronglyTypedModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <div>\r\n      <BBSF-TextArea [options]=\"stronglyTypedClass\" [group]=\"generateCodeForm\">\r\n      </BBSF-TextArea>\r\n\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button type=\"button\" #CloseStronglyTypedClassModal id=\"CloseStronglyTypedClassModal\" data-dismiss=\"modal\"\r\n        aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n        (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n      <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n        {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!--Export Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"exportControlLoaded\" [options]=\"exportConfirmationOptions\" id=\"exportConfirmationControl\"\r\n  #exportConfirmationControl></BBSF-ConfirmationModal>\r\n\r\n<!--Reload Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"reloadControlLoaded\" [options]=\"reloadConfirmationOptions\"\r\n  id=\"ReloadConfirmationModalControl\" #ReloadConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!--Rest Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"restToFactoryDefaultControlLoaded\" [options]=\"restToFactoryDefaultConfirmationOptions\"\r\n  id=\"RestConfirmationModalControl\" #RestConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n<!-- Resource Validation Modal-->\r\n<ng-template #ResourceValidationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"ResourcecheckResult\")}}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\" *ngIf=\"!excelValidation.isValid\">\r\n            <div>\r\n              {{utilityService.getResourceValue(\"UpdatedEntriesNumber\")}} {{excelValidation.validCount}}\r\n            </div>\r\n            <div>\r\n              {{utilityService.getResourceValue(\"InvalidEntriesNumber\")}} {{excelValidation.invalidCount}}\r\n            </div>\r\n          </div>\r\n          <div class=\"fs-6 text-gray-700\" *ngIf=\"excelValidation.isValid\">\r\n            {{utilityService.getResourceValue(\"AllEntriesValid\")}}\r\n          </div>\r\n\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div *ngIf=\"!excelValidation.isValid\">\r\n      <div class=\"table-responsive\">\r\n        <!-- begin::Table -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n              <th class=\"min-w-150\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n              <th class=\"min-w-150\">{{utilityService.getResourceValue(\"ErrorMessage\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody class=\"fw-bold text-gray-600 border-0\">\r\n            <tr class=\"trItem\" *ngFor=\"let Localization of excelValidation.invalidEntries\">\r\n              <td class=\"text-dark\">\r\n                {{Localization.resourceId}}\r\n              </td>\r\n              <td>{{Localization.resourceSet}}</td>\r\n              <td>{{Localization.errorMessage}}</td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button type=\"button\" #CloseResourceValidationModal id=\"CloseResourceValidationModal\" data-dismiss=\"modal\"\r\n        aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n        (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n      <button type=\"button\" (click)=\"confirmExcel()\"\r\n        class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n    </div>\r\n\r\n  </div>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EmptyDataComponent } from './empty-data.component';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [EmptyDataComponent],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    EmptyDataComponent\r\n  ],\r\n  providers: [\r\n    UtilityService\r\n  ]\r\n})\r\nexport class EmptyDataModule { }\r\n","export class LocalizationReplaceTextModel {\r\n  FindWhat: string;\r\n  ReplaceWith: string;\r\n  IsCaseSensitive: boolean;\r\n  IsMatchWholeWordOnly: boolean;\r\n  IsEnglish: boolean;\r\n  IsArabic: boolean;\r\n  SelectedResourceSets: string[] = [];\r\n}\r\n","import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ControlLayout, DropdownOptions, FilterItem, FilterType, FormComponent, FormOptions, InputType, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AuthService, BBSFTranslateService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { debug } from 'console';\r\nimport { Observable } from 'rxjs';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { LocalizationReplaceTextModel } from '../../shared/models/LocalizationModels/LocalizationReplaceTextModel';\r\nimport { localizationsService } from '../../shared/Services/localizations.service';\r\n\r\n@Component({\r\n  selector: 'lib-localizations-replace-text',\r\n  templateUrl: './localizations-replace-text.component.html',\r\n  styleUrls: ['./localizations-replace-text.component.css'],\r\n  standalone: false\r\n})\r\nexport class LocalizationsReplaceTextComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  apiUrl = this.localizationsService.ApiUrl;\r\n  isFirstTime: boolean = true;\r\n  //Required Controls for Find\r\n  findForm = new FormGroup({});\r\n  findFormOptions: FormOptions;\r\n  resourceSet: DropdownOptions;\r\n  findText: TextBoxOptions;\r\n  showPageContent: boolean = false;\r\n  resourceSetList: any[] = [];\r\n  //filters\r\n  resourceSetFilter: FilterItem;\r\n  textInputFilter: FilterItem;\r\n  caseSensetiveFilter: FilterItem;\r\n  matchWholeWordFilter: FilterItem;\r\n  isEnglishFilter: FilterItem;\r\n  isArabicFilter: FilterItem;\r\n  //Required Controls for Replace\r\n  replaceText: TextBoxOptions;\r\n  showFindResult: boolean = false;\r\n  enableReplaceBtn: boolean = false;\r\n\r\n  @ViewChild('formElement', { static: false }) formElement: FormComponent;\r\n  //Filters\r\n  caseSensetive: CheckBoxOptions;\r\n  matchWholeWord: CheckBoxOptions;\r\n  english: CheckBoxOptions;\r\n  arabic: CheckBoxOptions;\r\n  //Result table\r\n  localizationPagingResult: any[] = [];\r\n  localizationPaging: PagingOptions;\r\n  @ViewChild('localizationPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  constructor\r\n    (\r\n      private localizationsService: localizationsService, private pageInfoService: PageInfoService,\r\n      public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n      private requestHandlerService: RequestHandlerService, private authService: AuthService\r\n    ) {\r\n\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"ReplaceText\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"Localizations\"), path: '/Admin/Localization', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n  //Init page\r\n  initializePage() {\r\n    this.localizationsService.loadDropdown().subscribe((result) => {\r\n      this.resourceSetList = result as any;\r\n\r\n      this.initializeForm(true);\r\n      this.initializePaging();\r\n      setTimeout(() => {\r\n        this.showPageContent = true;\r\n      }, 50);\r\n\r\n    });\r\n  }\r\n  //Paging functions\r\n  initializeForm(isFind: boolean) {\r\n    if (isFind) {\r\n      this.findForm = new FormGroup({});\r\n      this.findFormOptions = new FormOptions();\r\n      this.findFormOptions.formGroup = this.findForm;\r\n\r\n      let selectedResourceSet = this.resourceSetList.map((item) => item.key);\r\n      this.resourceSet = new DropdownOptions();\r\n      this.resourceSet.name = \"resourceSet\";\r\n      this.resourceSet.labelKey = \"ResourceSet\";\r\n      this.resourceSet.dataSource = this.resourceSetList;\r\n      this.resourceSet.singleSelection = false;\r\n      this.resourceSet.allowSearchFilter = true;\r\n      this.resourceSet.selectedItems = selectedResourceSet;\r\n      this.resourceSet.isRequired = true;\r\n\r\n      this.findText = new TextBoxOptions();\r\n      this.findText.name = \"findText\";\r\n      this.findText.labelKey = \"FindWhat\";\r\n      this.findText.type = InputType.Text;\r\n      this.findText.value = null;\r\n      this.findText.isRequired = true;\r\n\r\n      this.caseSensetive = new CheckBoxOptions();\r\n      this.caseSensetive.name = \"caseSensetive\";\r\n      this.caseSensetive.value = true;\r\n      this.caseSensetive.labelKey = \"CaseSensetive\";\r\n\r\n      this.matchWholeWord = new CheckBoxOptions();\r\n      this.matchWholeWord.name = \"matchWholeWord\";\r\n      this.matchWholeWord.value = true;\r\n      this.matchWholeWord.labelKey = \"MatchWholeWord\";\r\n\r\n      this.english = new CheckBoxOptions();\r\n      this.english.name = \"english\";\r\n      this.english.value = true;\r\n      this.english.labelKey = \"English\";\r\n\r\n      this.arabic = new CheckBoxOptions();\r\n      this.arabic.name = \"arabic\";\r\n      this.arabic.value = true;\r\n      this.arabic.labelKey = \"Arabic\";\r\n    }\r\n    else {\r\n      this.findFormOptions.getModelFunction = this.getReplaceResourceModel;\r\n      this.findFormOptions.serviceSubmitFunction = this.getReplaceResourceFunction;\r\n\r\n      this.replaceText = new TextBoxOptions();\r\n      this.replaceText.name = \"replaceText\";\r\n      this.replaceText.labelKey = \"ReplaceWith\";\r\n      this.replaceText.type = InputType.Text;\r\n      this.replaceText.value = null;\r\n      this.replaceText.isRequired = true;\r\n    }\r\n\r\n\r\n  }\r\n  initializePaging() {\r\n    //Paging and Filters\r\n    this.resourceSetFilter = new FilterItem();\r\n    this.resourceSetFilter.formControlName = \"resourceSet\";\r\n    this.resourceSetFilter.actionParameterName = \"resourceSet\";\r\n    this.resourceSetFilter.isFormControl = true;\r\n    this.resourceSetFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"findText\";\r\n    this.textInputFilter.actionParameterName = \"findText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.caseSensetiveFilter = new FilterItem();\r\n    this.caseSensetiveFilter.formControlName = \"caseSensetive\";\r\n    this.caseSensetiveFilter.actionParameterName = \"isCaseSensitive\";\r\n    this.caseSensetiveFilter.isFormControl = true;\r\n    this.caseSensetiveFilter.filterType = FilterType.CheckBox;\r\n\r\n    this.matchWholeWordFilter = new FilterItem();\r\n    this.matchWholeWordFilter.formControlName = \"matchWholeWord\";\r\n    this.matchWholeWordFilter.actionParameterName = \"isMatchWholeWordOnly\";\r\n    this.matchWholeWordFilter.isFormControl = true;\r\n    this.matchWholeWordFilter.filterType = FilterType.CheckBox;\r\n\r\n    this.isEnglishFilter = new FilterItem();\r\n    this.isEnglishFilter.formControlName = \"english\";\r\n    this.isEnglishFilter.actionParameterName = \"isEnglish\";\r\n    this.isEnglishFilter.isFormControl = true;\r\n    this.isEnglishFilter.filterType = FilterType.CheckBox;\r\n\r\n    this.isArabicFilter = new FilterItem();\r\n    this.isArabicFilter.formControlName = \"arabic\";\r\n    this.isArabicFilter.actionParameterName = \"isArabic\";\r\n    this.isArabicFilter.isFormControl = true;\r\n    this.isArabicFilter.filterType = FilterType.CheckBox;\r\n\r\n    this.localizationPaging = new PagingOptions();\r\n    this.localizationPaging.reinitializeFunctionName = \"reinitializeResources\";\r\n    //this.localizationPaging.OnClickFiltersControlNames = [\"findBtn\"];\r\n    this.localizationPaging.actionPostURL = this.apiUrl + 'FindResource';\r\n    this.localizationPaging.onKeyPressFiltersControlNames = [\"findText\", \"caseSensetive\", \"matchWholeWord\", \"english\", \"arabic\"];\r\n    this.localizationPaging.dropdownFiltersControlNames = [\"ResourceSet\"];\r\n    this.localizationPaging.filters = [this.resourceSetFilter, this.textInputFilter, this.caseSensetiveFilter, this.matchWholeWordFilter, this.isEnglishFilter, this.isArabicFilter];\r\n    this.localizationPaging.onSuccessCallBackJSFunction = \"findResourceOnSuccess\";\r\n\r\n  }\r\n  findResource() {\r\n    debugger;\r\n    //if has value\r\n    var isValid = this.findForm.controls[\"findText\"].valid;\r\n    if (isValid) {\r\n      let element = this.pagingElement as any;\r\n      element.ReinitializePaging();\r\n    }\r\n    else {\r\n      let control = this.findForm.get(\"findText\") as any;\r\n      control.markAsTouched();\r\n    }\r\n\r\n  }\r\n  setResourcesListResult(result) {\r\n    debugger;\r\n    this.localizationPagingResult = result;\r\n    if (!this.isFirstTime) {\r\n      this.replaceText.value = null;\r\n      this.showFindResult = true;\r\n      if (result.length > 0)\r\n        this.enableReplaceBtn = true;\r\n      else\r\n        this.enableReplaceBtn = false;\r\n    }\r\n    else {\r\n      this.initializeForm(false);\r\n      this.isFirstTime = false;\r\n    }\r\n  }\r\n\r\n  //Replace Resource functions\r\n  getReplaceResourceModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.findForm.value as any;\r\n    //console.log(ResultModel);\r\n    let replaceModel: LocalizationReplaceTextModel = new LocalizationReplaceTextModel();\r\n    replaceModel.FindWhat = resultModel.findText;\r\n    replaceModel.ReplaceWith = resultModel.replaceText;\r\n    replaceModel.SelectedResourceSets = resultModel.resourceSet;\r\n    replaceModel.IsCaseSensitive = resultModel.caseSensetive;\r\n    replaceModel.IsMatchWholeWordOnly = resultModel.matchWholeWord;\r\n    replaceModel.IsEnglish = resultModel.english;\r\n    replaceModel.IsArabic = resultModel.arabic;\r\n\r\n    paramArray.push(replaceModel);\r\n    return paramArray;\r\n  };\r\n  getReplaceResourceFunction = (replaceModel): Observable<any> => {\r\n    return this.localizationsService.replaceResource(replaceModel);\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n  <BBSF-Form [options]=\"findFormOptions\" #formElement>\r\n\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-body py-3\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-DropdownList [options]=\"resourceSet\" [group]=\"findForm\">\r\n            </BBSF-DropdownList>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"findText\" [group]=\"findForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-3\">\r\n            <BBSF-CheckBox [options]=\"caseSensetive\" [group]=\"findForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n          <div class=\"col-md-3\">\r\n            <BBSF-CheckBox [options]=\"matchWholeWord\" [group]=\"findForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n          <div class=\"col-md-3\">\r\n            <BBSF-CheckBox [options]=\"english\" [group]=\"findForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n          <div class=\"col-md-3\">\r\n            <BBSF-CheckBox [options]=\"arabic\" [group]=\"findForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n        </div>\r\n        <div>\r\n          <button type=\"submit\" #submitFormButton hidden class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Submit\")}}</button>\r\n          <button type=\"button\" (click)=\"findResource()\" id=\"findBtn\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Find\")}}</button>\r\n        </div>\r\n        <div *ngIf=\"showFindResult\">\r\n          <div class=\"table-responsive\">\r\n            <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n              <thead>\r\n                <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"English\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Arabic\")}}</th>\r\n                </tr>\r\n              </thead>\r\n              <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n                <tr *ngFor=\"let resource of localizationPagingResult\">\r\n                  <td>\r\n                    <div class=\"text-dark\">{{resource.resourceSet}}</div>\r\n                  </td>\r\n                  <td>{{resource.resourceId}}</td>\r\n                  <td>{{resource.valueEN}}</td>\r\n                  <td>{{resource.valueAR}}</td>\r\n                </tr>\r\n                <tr *ngIf=\"localizationPagingResult.length == 0\">\r\n                  <td colspan=\"4\">\r\n                    <lib-empty-data></lib-empty-data>\r\n                  </td>\r\n                </tr>\r\n              </tbody>\r\n            </table>\r\n          </div>\r\n          <div class=\"row\" id=\"replaceControls\">\r\n            <div class=\"col-md-9\">\r\n              <BBSF-TextBox [options]=\"replaceText\" [group]=\"findForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-3\">\r\n              <button [disabled]=\"!enableReplaceBtn\" type=\"submit\"  class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n\r\n      </div>\r\n      <div class=\"card-footer border-0\">\r\n        <BBSF-Paging (Items)=\"setResourcesListResult($event)\" \r\n                     [options]=\"localizationPaging\" [group]=\"findForm\" #localizationPagingViewElement>\r\n        </BBSF-Paging>\r\n      </div>\r\n    </div>\r\n    </BBSF-Form>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { LocalizationsComponent } from './localizations.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\n\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { localizationsService } from '../shared/Services/localizations.service';\r\nimport { LocalizationsReplaceTextComponent } from './localizations-replace-text/localizations-replace-text.component';\r\n\r\nconst routes: Routes = [\r\n  { path: '', component: LocalizationsComponent, },\r\n  { path: \"ReplaceText\", component: LocalizationsReplaceTextComponent }\r\n];\r\n\r\n\r\n@NgModule({\r\n  declarations: [LocalizationsComponent, LocalizationsReplaceTextComponent],\r\n  imports: [\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    RouterModule.forChild(routes),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    DatePipe,\r\n    localizationsService\r\n\r\n  ]\r\n})\r\nexport class LocalizationsModule {\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-roles',\r\n    templateUrl: './roles.component.html',\r\n    standalone: false\r\n})\r\nexport class RolesComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class PermissionModel {\r\n  iD_GUID: string;\r\n  name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  organizationID_GUID: string;\r\n  sysName: string;\r\n  organizationName: EnglishArabicDTO = new EnglishArabicDTO();\r\n}\r\n\r\n\r\nexport class PermissionListModel {\r\n  iD: number = undefined;\r\n  iD_GUID: string = undefined;\r\n  name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  permissionName: string = undefined;\r\n  organizationID: number = undefined;\r\n  organizationID_GUID: string = undefined;\r\n  organizationName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  currentOrganizationName: string = undefined;\r\n  organizationIsActivated:boolean=false;\r\n  sysName: string = undefined;\r\n\r\n}","export class ProvidersType {\r\n  static Files: string = \"97f0e6b9-f34d-44b9-be84-259af792a84a\";\r\n  static Emails: string = \"de340fe0-3368-42bc-b232-22e567c543db\";\r\n  static SMS: string = \"3f56e611-4abd-4538-acd0-7e7c9661d1ef\";\r\n}\r\nexport class TemplateLanguageMode {\r\n  static UserLanguage: string = \"de6269d2-c474-43e8-bd4f-ade9d779eed5\";\r\n  static TwoSpearateMessages: string = \"0b472b3b-1db1-44c6-850c-113c8d74bab7\";\r\n  static EnglishAndArabicCombined: string = \"14c052dd-9d69-4398-b63b-52b2dcacdae1\";\r\n}\r\nexport class TemplateCategory {\r\n  static BBSFTemplate: string = \"2c403ba2-2f4f-44d9-9ff6-706ab461c480\";\r\n  static ApplicationTemplate: string = \"0f4147a2-37fb-4e3b-ac6c-c808ac951e12\";\r\n}\r\nexport class ActiveDirectoryWindowConnectionType {\r\n  static OrganizationalUnit: string = \"ba1c2908-88bf-43af-9ea5-b096a9a7369e\";\r\n  static ActiveDirectoryGroup: string = \"1ce226ca-6eca-44ff-a7bb-1c4bd8f75b5f\";\r\n}\r\nexport class ActiveDirectoryMappingType {\r\n  static Text: string = \"aedd220d-8f54-429b-a43e-457ceabdf844\";\r\n  static Image: string = \"d94f9b04-5e8c-4a80-8a72-5896e38dccc2\";\r\n  static Manager: string = \"923da6d8-6675-4698-961a-4e586e35615c\";\r\n  static Boolean: string = \"3ea1a9b7-c99c-4fcb-912c-67ce28171d2f\";\r\n}\r\nexport class RoomType {\r\n  static OneToOne: string = \"ad2e8eee-5341-4dc6-b7c2-6dabee2b4ef4\";\r\n  static Group: string = \"41a94d6c-b64b-473f-8e6c-81a692ac1d5e\";\r\n  static Support: string = \"63b692aa-71ea-4818-b93a-46bed17b6ae8\";\r\n  static System: string = \"d3846253-738e-472c-afbd-bd8f936a2565\";\r\n}\r\nexport class ChatMessageType {\r\n  static Text: string = \"191c40d0-fc94-4b70-940e-0049d58db613\";\r\n  static Image: string = \"999e26e2-0218-4697-8b47-554eb1480db6\";\r\n  static File: string = \"47553807-72a5-4add-be4f-95bcdf03b439\";\r\n  static System: string = \"3ab2d786-2a4b-45ea-bed7-d2460ae66d6a\";\r\n  static SystemLeaveRoom: string = \"338cd9f2-584a-4f60-83ce-0935b5a7acdc\";\r\n  static SystemChangeTitle: string = \"424f5fc8-d28e-4b8f-a5f3-5f2abd023e32\";\r\n  static SystemAddMember: string = \"d9d67d7b-1c78-495e-8b47-6b9a2867f259\";\r\n}\r\nexport class Scope {\r\n  static App: string = \"68940cbd-ab5b-4aae-8605-0be2cdc068ab\";\r\n  static Permissionset: string = \"c8a5ba17-a21c-4221-8e36-ed7c05bc6b11\";\r\n  static User: string = \"5df74b74-f897-4005-924e-d7c5ed08c582\";\r\n}\r\nexport class ActiveDirectoryType {\r\n  static Windows: string = \"1f8378e1-380d-416d-b92a-6a3a4084715b\";\r\n  static Azure: string = \"90613410-a279-4bbc-a019-854b77dbf559\";\r\n}\r\nexport class ActivityType {\r\n  static Start: string = \"e365482a-00ed-4c7e-803e-fbf680e01c63\";\r\n  static End: string = \"809d5edb-6918-4139-83fb-7df7c4dd5d99\";\r\n  static Approval: string = \"974bc488-8660-43f3-bf77-afaecb9b5794\";\r\n  static Email: string = \"df606fe8-67ea-48ac-890e-b32141d0ea4a\";\r\n  static Action: string = \"9e02817f-4cea-4c00-96c8-50b027bb3cb2\";\r\n  static Sleep: string = \"8b52dc5e-d006-4062-a959-cb1ae7598eb2\";\r\n  static PercentageTask: string = \"c244e48a-5c46-410c-8bdf-ced2c885db2d\";\r\n  static Condition: string = \"630839ee-d26c-41f7-a6f4-b967123990da\";\r\n}\r\nexport class VariableType {\r\n  static System: string = \"9e87b64c-7875-4392-b1c8-9051babe3ba7\";\r\n  static Custom: string = \"4a1c8d29-e983-48c5-8b00-4959cfecea0a\";\r\n}\r\nexport class InstanceStatus {\r\n  static Active: string = \"536b455b-e484-4ca0-9148-d72fbbe7dc1e\";\r\n  static Completed: string = \"0b2c9f41-6ddf-483b-be0f-65005a474afc\";\r\n  static Error: string = \"b2cf7df6-d7cd-4a62-b9ea-48151d7e672c\";\r\n}\r\nexport class VariableDataType {\r\n  static SingleLine: string = \"ceab5039-390d-4275-8200-56cb26b733bc\";\r\n  static MultiLine: string = \"7f22adf7-6a1e-4b1d-acbd-9f69e1d7217e\";\r\n  static SingleSelection: string = \"15432146-d5f9-44e4-a11f-c1864cd3cb34\";\r\n  static MultiSelection: string = \"ada1796b-72b1-4de3-819e-c6e1fd116af7\";\r\n  static TrueFalse: string = \"83df8c00-c32a-4867-bb96-b920a052e1bf\";\r\n  static Number: string = \"70df33f1-0450-4d7c-a7e8-56221c4def94\";\r\n  static Date: string = \"c27d7cf3-db07-4a17-a1f9-b9a75682dca2\";\r\n  static IdentifierKey: string = \"520810c5-8e2a-486f-bb9d-ec4bf15e73e0\";\r\n  static Attachment: string = \"223722fa-bdf4-4eef-997e-8320071d5881\";\r\n  static DynamicUserIDList: string = \"499d2375-76b5-4a62-9710-f960edbef165\";\r\n}\r\nexport class ParticipantType {\r\n  static PermissionSet: string = \"eb58e770-b798-43ae-87b8-7951ffc13c44\";\r\n  static Originator: string = \"324b4eeb-b9cd-4694-984a-91c963213a75\";\r\n  static DynamicUserIDList: string = \"101f8cc0-6b3a-4755-8930-b683b1bb5e28\";\r\n  static User: string = \"342fb0a5-a9bd-4280-b1a5-c9088eae27fd\";\r\n}\r\nexport class TaskCorrelationType {\r\n  static OneCanComplete: string = \"9982f70f-5e4e-4a71-b759-d7204d76622d\";\r\n  static AllMustComplete: string = \"5502c490-0c5d-485c-9945-6ff26e4d7a00\";\r\n  static MajorityCanComplete: string = \"dd05349e-98ba-4a85-b9dd-a3d786a085c2\";\r\n}\r\nexport class TaskType {\r\n  static Percentage: string = \"7003fdad-484f-492f-920a-7ca358d14a0e\";\r\n  static Outcome: string = \"7962a195-3f2f-476e-b67a-b5c0afc59f0e\";\r\n}\r\nexport class TaskStatus {\r\n  static Pending: string = \"d4758cfe-e99e-4938-9001-c576724db52a\";\r\n  static Completed: string = \"c6ba2cf0-d081-4cfa-8047-b68cb634827c\";\r\n  static Cancelled: string = \"114e1780-2972-43c3-a1b9-2d20a0534711\";\r\n  static WaitingSomeone: string = \"5c0627cb-5739-4cbd-9561-d03dde2e9eac\";\r\n  static NoActionRequired: string = \"771da897-acfd-4b15-bbc7-db5547b987c1\";\r\n  static AutoCompleted: string = \"3e5afc4c-e85e-4f59-84fe-bccffdb7121d\";\r\n}\r\nexport class Righthandsidetype {\r\n  static Variable: string = \"0ae4d7c2-39d2-4a3e-9157-9b5d9e96a436\";\r\n  static Value: string = \"ad928e4d-9dd7-40d8-94e3-1ca181d9156d\";\r\n}\r\nexport class ConditionOperator {\r\n  static Greater: string = \"217540a9-8ab8-4bf4-b3a3-5f8303ce7932\";\r\n  static Lower: string = \"e39874df-6ffb-4b4a-84f8-6e61245ff0ab\";\r\n  static Equal: string = \"e722580c-8020-4366-97db-9c86736412e3\";\r\n  static NotEqual: string = \"e10e0a4d-fc64-4f85-beeb-1664d7b61563\";\r\n}\r\nexport class ConfigurationValueTypes {\r\n  static Text: string = \"66376080-12dc-4959-b6df-f41c5800d534\";\r\n  static DropdownList: string = \"5b9309f3-b4d4-4ad1-96e5-a6d1101ce9a8\";\r\n  static Toggle: string = \"b7492781-0e1b-4473-825b-0347a26fc55c\";\r\n  static PartialView: string = \"7a65356d-2a13-4260-bc81-ab1564b45bc3\";\r\n}\r\nexport class ConfigurationDDLSource {\r\n  static Lookup: string = \"b421001a-e2a0-49e0-91d0-61b42e1453fc\";\r\n  static Function: string = \"b144597c-ef1c-487c-aa7a-39b7f7216785\";\r\n}\r\nexport class ConfigurationCategory {\r\n  static SystemConfiguration: string = \"dc805e4f-6782-4611-aa05-edc77a626743\";\r\n  static AppearanceConfiguration: string = \"3560a515-ff4d-4726-aa72-aaa9ad79251d\";\r\n}\r\nexport class Constants {\r\n  static OrganizationID_GUID: string = \"4A4F22F9-97BA-4928-82A3-B689B413BCAC\";\r\n  static NotAssignedToOrganization: string = \"20BB2FB3-0CC8-484A-B073-B979BD9F8B5F\";\r\n\r\n}\r\n","// include directives/components commonly used in features modules in this shared modules\r\n// and import me into the feature module\r\n// importing them individually results in: Type xxx is part of the declarations of 2 modules: ... Please consider moving to a higher module...\r\n// https://github.com/angular/angular/issues/10646  \r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\n\r\n//https://stackoverflow.com/questions/41433766/directive-doesnt-work-in-a-sub-module\r\n//https://stackoverflow.com/questions/45032043/uncaught-error-unexpected-module-formsmodule-declared-by-the-module-appmodul/45032201\r\n\r\n@NgModule({\r\n  imports: [CommonModule, InlineSVGModule],\r\n  exports: [InlineSVGModule],\r\n  providers: [],\r\n  declarations: [\r\n\r\n  ]\r\n})\r\nexport class SharedModule { }","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StylesBundleService {\r\n  constructor(@Inject(DOCUMENT) private document: Document) {\r\n\r\n  }\r\n\r\n  loadThemes(lang: string) {\r\n    if (lang == \"ar\") {\r\n      this.loadStyleBundle('BBSF-Bundle-RTL.css');\r\n      document.querySelector('html').setAttribute(\"b-lang\", \"ar\"); //use b-lang instead of lang to fix firefox number inputs in Arabic locale\r\n      document.querySelector('html').setAttribute(\"dir\", \"rtl\");\r\n    } else {\r\n      this.loadStyleBundle('BBSF-Bundle.css');\r\n      document.querySelector('html').setAttribute(\"b-lang\", \"en\");\r\n      document.querySelector('html').setAttribute(\"dir\", \"ltr\");\r\n    }\r\n\r\n  }\r\n\r\n\r\n  loadStyleBundle(styleName: string) {\r\n    const head = this.document.getElementsByTagName('head')[0];\r\n\r\n    let themeLink = this.document.getElementById('client-theme') as HTMLLinkElement;\r\n\r\n    if (themeLink && themeLink.href.includes(styleName)) {\r\n      return;\r\n    }\r\n    else if (themeLink && !themeLink.href.includes(styleName)) {\r\n      themeLink.remove();\r\n    }\r\n\r\n    const style = this.document.createElement('link');\r\n    style.id = 'client-theme';\r\n    style.rel = 'stylesheet';\r\n    style.href = `${styleName}`;\r\n    head.appendChild(style);\r\n\r\n  }\r\n}\r\n\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PermissionModel } from \"../models/PermissionsModels/PermissionModel\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PermissionsService {\r\n  ApiUrl = \"/api/admin/Permissions/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loadDropdown() {\r\n    return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n  }\r\n\r\n  addPermission(AddModel: PermissionModel) {\r\n    return this.http.post(this.ApiUrl + 'AddPermission', AddModel);\r\n  }\r\n\r\n  getPermission(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditPermission', params);\r\n  }\r\n\r\n  editPermission(EditModel: PermissionModel) {\r\n    return this.http.post(this.ApiUrl + 'EditPermission', EditModel);\r\n  }\r\n\r\n  deletePermission(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeletePermission', JSON.stringify(id));\r\n  }\r\n\r\n\r\n\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, DropdownListComponent, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, PermissionSets, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { PermissionListModel, PermissionModel } from '../../shared/models/PermissionsModels/PermissionModel';\r\nimport { PermissionsService } from './../../shared/Services/PermissionsService.service';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService, AuthService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Constants } from '../../shared';\r\n\r\n@Component({\r\n    selector: 'lib-permissions',\r\n    templateUrl: './permissions.component.html',\r\n    standalone: false\r\n})\r\nexport class PermissionsComponent implements OnInit {\r\n  //Page requirements\r\n  ApiUrl = this.permissionsService.ApiUrl;\r\n  ProductionMode: boolean;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  organizationList = [];\r\n  filterForm = new FormGroup({});\r\n  permissionsForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  permissionsPagingResult: PermissionListModel[] = [];\r\n  filteredPermissionsPagingResult: PermissionListModel[] = [];\r\n  permissionsPaging: PagingOptions = new PagingOptions();\r\n  textInputFilter: FilterItem;\r\n  organizationOptions: DropdownOptions = new DropdownOptions();\r\n  organizationsFilter: FilterItem = new FilterItem();\r\n  showPageContent: boolean = false;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('PermissionPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Add Model Controls\r\n  addPermissionForm = new FormGroup({});\r\n  addPermissionFormOptions: FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  sysName: TextBoxOptions;\r\n  organization: DropdownOptions;\r\n  isAddPermissionFormLoaded: boolean = false;\r\n\r\n  //Edit Model Controls\r\n  editPermissionForm = new FormGroup({});\r\n  editPermissionFormOptions: FormOptions;\r\n  editMultiLingualName: MultiLingualTextBoxOptions;\r\n  editSysName: TextBoxOptions;\r\n  editOrganization: DropdownOptions;\r\n  isEditPermissionModelLoaded: boolean;\r\n  editPermissionId: string;\r\n\r\n  //delete  Model Controls\r\n  deletedPermissionId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private modalService: NgbModal,\r\n    private permissionsService: PermissionsService,\r\n    private requestHandlerService: RequestHandlerService,\r\n    private authService: AuthService\r\n  ) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.showPageContent = true;\r\n\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Permissions\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //Paging functions\r\n  setPermissionsListResult(result) {\r\n    this.permissionsPagingResult = result;\r\n    this.showPageContent = true;\r\n    this.filteredPermissionsPagingResult = this.permissionsPagingResult;\r\n  }\r\n\r\n  //initialize page\r\n  initializePage() {\r\n    this.permissionsService.loadDropdown().subscribe((result) => {\r\n      let dropdownResponseModel = result as any;\r\n      this.organizationList = dropdownResponseModel;\r\n      //#region input field options\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n      let filterOrganizationList = [{\r\n        key: Constants.NotAssignedToOrganization,\r\n        value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n      }].concat(this.organizationList);\r\n\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n      this.organizationOptions.dataSource = filterOrganizationList;\r\n      //#endregion\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = this.searchTextBox.name;\r\n      this.textInputFilter.actionParameterName = \"searchText\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n      if (this.isMultiTenancyAllowed && this.isSuperAdmin) {\r\n        this.permissionsPaging.filters = this.permissionsPaging.filters ?? [];\r\n        this.permissionsPaging.dropdownFiltersControlNames = this.permissionsPaging.dropdownFiltersControlNames ?? [];\r\n\r\n        this.organizationsFilter = new FilterItem();\r\n        this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n        this.organizationsFilter.actionParameterName = \"organizationId\";\r\n        this.organizationsFilter.isFormControl = true;\r\n        this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n        this.permissionsPaging.filters.push(this.organizationsFilter);\r\n        this.permissionsPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n      }\r\n\r\n      this.permissionsPaging.actionPostURL = this.ApiUrl + 'GetPermissionsByFilter';\r\n      this.permissionsPaging.onKeyPressFiltersControlNames = [this.searchTextBox.name];\r\n      this.permissionsPaging.filters = [\r\n        ...this.permissionsPaging.filters,\r\n        this.textInputFilter\r\n      ];\r\n      this.permissionsPaging.resetFilterButtonName='permissionResetButton';\r\n      this.isFilterLoaded = true;\r\n    });\r\n  }\r\n\r\n\r\n  //#region add modal\r\n  showAddPermissionModal(addPermissionModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addPermissionForm = new FormGroup({});\r\n\r\n    this.addPermissionFormOptions = new FormOptions();\r\n    this.addPermissionFormOptions.formGroup = this.addPermissionForm;\r\n    this.addPermissionFormOptions.getModelFunction = this.getAddPermissionModel;\r\n    this.addPermissionFormOptions.serviceSubmitFunction = this.getAddPermissionFunction;\r\n    this.addPermissionFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 100;\r\n\r\n\r\n    this.sysName = new TextBoxOptions();\r\n    this.sysName.name = \"SysName\";\r\n    this.sysName.labelKey = \"SysName\";\r\n    this.sysName.type = InputType.Text;\r\n    this.sysName.value = null;\r\n    this.sysName.maxLength = 100;\r\n\r\n    this.organization = new DropdownOptions();\r\n    this.organization.name = \"OrganizationID_GUID\";\r\n    this.organization.labelKey = \"Organization\";\r\n    this.organization.selectedItems = null;\r\n    this.organization.dataSource = this.organizationList;\r\n    this.organization.singleSelection = true;\r\n    this.organization.allowSearchFilter = true;\r\n    this.organization.isRequired = false;\r\n\r\n    this.modalService.open(addPermissionModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  getAddPermissionModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addPermissionForm.value as any;\r\n    let AddPermissionModel: PermissionModel = new PermissionModel();\r\n    if (this.ProductionMode == false)\r\n      AddPermissionModel.sysName = ResultModel.SysName;\r\n    AddPermissionModel.name = ResultModel.Name;\r\n    AddPermissionModel.organizationID_GUID = ResultModel[this.organization.name];\r\n    paramArray.push(AddPermissionModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddPermissionFunction = (AddPermissionModel): Observable<any> => {\r\n    return this.permissionsService.addPermission(AddPermissionModel);\r\n  };\r\n  //#endregion\r\n\r\n\r\n\r\n  //#region edit modal\r\n  showEditPermissionModal(permissionID: string, editPermissionModal) {\r\n\r\n    this.editPermissionForm = new FormGroup({});\r\n\r\n    this.editPermissionFormOptions = new FormOptions();\r\n    this.editPermissionFormOptions.formGroup = this.editPermissionForm;\r\n    this.editPermissionFormOptions.getModelFunction = this.getEditPermissionModel;\r\n    this.editPermissionFormOptions.serviceSubmitFunction = this.getEditPermissionFunction;\r\n    this.editPermissionFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n    this.permissionsService.getPermission(permissionID).subscribe((result: any) => {\r\n      let Permission = result.model as any;\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = Permission.name.arabic;\r\n      Name.english = Permission.name.english;\r\n\r\n      this.editMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.editMultiLingualName.name = \"Name\";\r\n      this.editMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.editMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.editMultiLingualName.isRequired = true;\r\n      this.editMultiLingualName.value = Name;\r\n      this.editMultiLingualName.maxLength = 100;\r\n\r\n\r\n      this.editPermissionId = Permission.iD_GUID;\r\n\r\n      this.editSysName = new TextBoxOptions();\r\n      this.editSysName.name = \"SysName\";\r\n      this.editSysName.labelKey = \"SysName\";\r\n      this.editSysName.type = InputType.Text;\r\n      this.editSysName.value = Permission.sysName;\r\n      this.editSysName.maxLength = 100;\r\n\r\n      this.editOrganization = new DropdownOptions();\r\n      this.editOrganization.name = \"OrganizationID_GUID\";\r\n      this.editOrganization.labelKey = \"Organization\";\r\n      this.editOrganization.selectedItems = Permission.organizationID_GUID?.toLowerCase();\r\n      this.editOrganization.dataSource = this.organizationList;\r\n      this.editOrganization.singleSelection = true;\r\n      this.editOrganization.allowSearchFilter = true;\r\n      this.editOrganization.isRequired = false;\r\n\r\n      this.modalService.open(editPermissionModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditPermissionModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editPermissionForm.value as any;\r\n    let EditPermissionModel = new PermissionModel();\r\n    EditPermissionModel.iD_GUID = this.editPermissionId;\r\n    EditPermissionModel.name = ResultModel.Name;\r\n    if (this.ProductionMode == false)\r\n      EditPermissionModel.sysName = ResultModel.SysName;\r\n\r\n    EditPermissionModel.organizationID_GUID = ResultModel[this.editOrganization.name];\r\n    paramArray.push(EditPermissionModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditPermissionFunction = (EditPermissionModel): Observable<any> => {\r\n    return this.permissionsService.editPermission(EditPermissionModel);\r\n  };\r\n  //#endregion\r\n\r\n\r\n  //#region Start of delete Permission part\r\n  showDeletePermissionModal(PermissionId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedPermissionId = PermissionId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedPermissionId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deletePermissionFunction;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deletePermissionFunction = (id: string): Observable<any> => {\r\n    return this.permissionsService.deletePermission(id);\r\n  };\r\n  //#endregion\r\n\r\n  filterPermissionList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredPermissionsPagingResult = this.permissionsPagingResult.filter(item => item.permissionName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredPermissionsPagingResult = this.permissionsPagingResult;\r\n  }\r\n\r\n  //#region Destroy Observable\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  //#endregion\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<!-- #region page content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"permissionsForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <div\r\n          *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\"\r\n          ngbDropdown\r\n          class=\"d-inline-block\"\r\n          [ngStyle]=\"{ display: showPageContent == true ? 'block' : 'none' }\">\r\n          <button ngbDropdownToggle type=\"button\" class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{ utilityService.getResourceValue('Filter') }}\r\n          </button>\r\n          <div\r\n            *ngIf=\"isFilterLoaded\"\r\n            ngbDropdownMenu\r\n            aria-labelledby=\"FiltersDropdown\"\r\n            class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"permissionsForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">\r\n                  <div>\r\n                    <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\" [group]=\"permissionsForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"permissionResetButton\">\r\n                    {{ utilityService.getResourceValue('Reset') }}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n\r\n        @if (isSuperAdmin) {\r\n          <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddPermissionModal(AddPermissionModal)\">\r\n            <i class=\"fas fa-plus me-1\"></i>\r\n            {{ utilityService.getResourceValue('Add') }}\r\n          </button>\r\n        }\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!-- #region permission list -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-150px\" *ngIf=\"!ProductionMode\">{{ utilityService.getResourceValue('SysName') }}</th>\r\n              <th class=\"min-w-150\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ utilityService.getResourceValue('Organization') }}</th>\r\n              <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let permission of filteredPermissionsPagingResult\">\r\n              <td>\r\n                {{ permission.permissionName }}\r\n              </td>\r\n              <td *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ permission.currentOrganizationName ?? '-' }}</td>\r\n              <td *ngIf=\"!ProductionMode\" class=\"align-middle\">{{ permission.sysName }}</td>\r\n              <td>\r\n                <div *ngIf=\"isSuperAdmin\">\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem (click)=\"showEditPermissionModal(permission.iD_GUID, EditPermissionModal)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeletePermissionModal(permission.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredPermissionsPagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '3' : '4'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!-- #endregion -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging\r\n        (Items)=\"setPermissionsListResult($event)\"\r\n        *ngIf=\"isFilterLoaded\"\r\n        [options]=\"permissionsPaging\"\r\n        [group]=\"permissionsForm\"\r\n        #PermissionPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- #endregion -->\r\n\r\n<!-- #region add modal -->\r\n<ng-template #AddPermissionModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('AddPermissions') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addPermissionFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addPermissionForm\"></BBSF-MultiLingualTextBox>\r\n      <div *ngIf=\"!ProductionMode\">\r\n        <BBSF-TextBox [options]=\"sysName\" [group]=\"addPermissionForm\"> </BBSF-TextBox>\r\n      </div>\r\n      <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"organization\" [group]=\"addPermissionForm\"></BBSF-DropdownList>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          type=\"button\"\r\n          #ClosePermissionModal\r\n          id=\"ClosePermissionModal\"\r\n          data-dismiss=\"modal\"\r\n          aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!-- #endregion -->\r\n\r\n<!-- #region Edit Modal -->\r\n<ng-template #EditPermissionModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('EditPermission') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editPermissionFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"editMultiLingualName\" [group]=\"editPermissionForm\"></BBSF-MultiLingualTextBox>\r\n      <div class=\"col-md-12\" *ngIf=\"!ProductionMode\">\r\n        <BBSF-TextBox [options]=\"editSysName\" [group]=\"editPermissionForm\"> </BBSF-TextBox>\r\n      </div>\r\n      <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"editOrganization\" [group]=\"editPermissionForm\"></BBSF-DropdownList>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          type=\"button\"\r\n          #CloseEditPermissionModal\r\n          id=\"CloseEditPermissionModal\"\r\n          data-dismiss=\"modal\"\r\n          aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!-- #endregion -->\r\n\r\n<!-- #region delete Modal -->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl>\r\n</BBSF-ConfirmationModal>\r\n<!-- #endregion -->\r\n","import { DropdownListItem, EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class PermissionSetModel {\r\n  iD: number = undefined;\r\n  iD_GUID: string = undefined;\r\n  name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  permissionSetName: string = undefined;\r\n  activeDirectoryGroup: string = undefined;\r\n  organizationID: number = undefined;\r\n  organizationID_GUID: string;\r\n  permissionIDs: string[] = [];\r\n  usersCount: number = undefined;\r\n  organizationName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  currentOrganizationName: string = undefined;\r\n  permissions: string = undefined;\r\n  permissionsDTO: any[] = [];\r\n  rowVersion: string = undefined;\r\n  sysName: string = undefined;\r\n}\r\n\r\nexport class PermissionSetDropDownListModel {\r\n  organizationList: DropdownListItem[];\r\n  permissionList: DropdownListItem[];\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PermissionSetDropDownListModel, PermissionSetModel } from \"../models/PermissionsModels/PermissionSetModel\";\r\nimport { PermissionSetUsersIDRequestModel } from \"../models/PermissionsModels/PermissionSetUsersIDRequestModel\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PermissionSetService {\r\n  ApiUrl = \"/api/admin/PermissionSets/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n  loadAddEditDropdown(organizationID:string=null) {\r\n    let params = organizationID ? `?organizationID=${organizationID}` : '';\r\n    return this.http.get(this.ApiUrl + 'LoadAddEditLists'+params);\r\n  }\r\n\r\n  loadDropdownForFilters() {\r\n    return this.http.get(`${this.ApiUrl}LoadFiltersDropdowns`);\r\n  }\r\n\r\n  addPermissionSet(AddModel: PermissionSetModel) {\r\n    return this.http.post(this.ApiUrl + 'AddPermissionSet', AddModel);\r\n  }\r\n\r\n  getPermissionSet(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditPermissionSet', params);\r\n  }\r\n\r\n  getPermissionSetInfo(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'GetPermissionSetInfo', params);\r\n  }\r\n\r\n\r\n  editPermissionSet(EditModel: PermissionSetModel) {\r\n    return this.http.post(this.ApiUrl + 'EditPermissionSet', EditModel);\r\n  }\r\n\r\n  deletePermissionSet(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeletePermissionSet', JSON.stringify(id));\r\n  }\r\n\r\n\r\n  addUsersToPermissionSet(AddModel: PermissionSetUsersIDRequestModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddUsersToPermSet', AddModel);\r\n  }\r\n\r\n\r\n  deleteUserFromPermissionSet(userID: string, permSetID: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"userID\", userID);\r\n    params = params.append(\"permSetID\", permSetID);\r\n    return this.http.post(this.ApiUrl + 'DeleteUserFromPermissionSet', null, null, params);\r\n  }\r\n\r\n\r\n}","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, DropdownListComponent, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, PermissionSets, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { PermissionSetModel } from '../../shared/models/PermissionsModels/PermissionSetModel';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService, AuthService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { PermissionSetService } from '../../shared/Services/PermissionSetService.service';\r\nimport { Constants } from '../../shared';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-permissionsets',\r\n    templateUrl: './permissionsets.component.html',\r\n    standalone: false\r\n})\r\nexport class PermissionsetsComponent implements OnInit, OnDestroy {\r\n  //Page requirements\r\n  ApiUrl = this.permissionSetService.ApiUrl;\r\n  ProductionMode: boolean;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  permissionList = [];\r\n  organizationList = [];\r\n  filterForm = new FormGroup({});\r\n  permissionSetForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  permissionSetPagingResult: PermissionSetModel[] = [];\r\n  filteredPermissionSetPagingResult: PermissionSetModel[] = [];\r\n  permissionSetPaging: PagingOptions = new PagingOptions();\r\n  textInputFilter: FilterItem;\r\n  organizationOptions: DropdownOptions;\r\n  organizationsFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  isFilterDataLoaded: boolean = false;\r\n  showPageContent: boolean = false;\r\n\r\n  @ViewChild('PermissionSetPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //#region Add Model Controls\r\n  addPermissionSetForm = new FormGroup({});\r\n  addPermissionSetFormOptions: FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  sysName: TextBoxOptions;\r\n  activeDirectoryGroup: TextBoxOptions;\r\n  permissions: DropdownOptions;\r\n  organization: DropdownOptions;\r\n  //#endregion\r\n\r\n\r\n  //#region Edit Model Controls\r\n  editPermissionSetForm = new FormGroup({});\r\n  editPermissionSetFormOptions: FormOptions;\r\n  editMultiLingualName: MultiLingualTextBoxOptions;\r\n  editSysName: TextBoxOptions;\r\n  editActiveDirectoryGroup: TextBoxOptions;\r\n  editPermissions: DropdownOptions;\r\n  permissionSetId: string;\r\n  editPermissionSetId: string;\r\n  editOrganization: DropdownOptions;\r\n  //#endregion\r\n\r\n  //delete  Model Controls\r\n  deletedPermissionSetId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n  @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private permissionSetService: PermissionSetService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService,\r\n    private authService: AuthService,\r\n  ) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    this.showPageContent = true;\r\n\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"PermissionSets\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n\r\n  //#region initialize page\r\n  initializePage() {\r\n      // TextBox inti\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = this.searchTextBox.name;\r\n      this.textInputFilter.actionParameterName = \"searchText\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n      if (this.isMultiTenancyAllowed && this.isSuperAdmin) {\r\n        this.permissionSetPaging.filters = this.permissionSetPaging.filters ?? [];\r\n        this.permissionSetPaging.dropdownFiltersControlNames = this.permissionSetPaging.dropdownFiltersControlNames ?? [];\r\n\r\n        this.organizationsFilter = new FilterItem();\r\n        this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n        this.organizationsFilter.actionParameterName = \"organizationId\";\r\n        this.organizationsFilter.isFormControl = true;\r\n        this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n        this.permissionSetPaging.filters.push(this.organizationsFilter);\r\n        this.permissionSetPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n      }\r\n\r\n\r\n      this.permissionSetPaging.actionPostURL = this.ApiUrl + 'GetPermissionSetsByFilter';\r\n      this.permissionSetPaging.onKeyPressFiltersControlNames = [this.searchTextBox.name];\r\n      this.permissionSetPaging.filters.push(this.textInputFilter);\r\n      this.permissionSetPaging.resetFilterButtonName = 'permissionSetResetButton';\r\n      this.isFilterLoaded = true;\r\n  }\r\n\r\n  loadLists() {\r\n    if (!this.isFilterDataLoaded) {\r\n      this.permissionSetService.loadDropdownForFilters().subscribe((organizationList:any) => {\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(organizationList);\r\n        let organizationsElement = this.organizationDDL;\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n\r\n        this.isFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n  //#endregion\r\n\r\n  //#region Paging functions\r\n  setPermissionSetListResult(result) {\r\n    this.permissionSetPagingResult = result;\r\n    this.showPageContent = true;\r\n    this.filteredPermissionSetPagingResult = this.permissionSetPagingResult;\r\n  }\r\n  //#endregion\r\n\r\n  //#region Start add PermissionSet Part\r\n  showAddPermissionSetModal(AddPermissionSetModal) {\r\n    this.permissionSetService.loadAddEditDropdown().subscribe((result: any) => {\r\n      this.organizationList = result.organizations;\r\n      this.permissionList=result.permissions\r\n    this.utilityService.startBlockUI();\r\n    this.addPermissionSetForm = new FormGroup({});\r\n\r\n    this.addPermissionSetFormOptions = new FormOptions();\r\n    this.addPermissionSetFormOptions.formGroup = this.addPermissionSetForm;\r\n    this.addPermissionSetFormOptions.getModelFunction = this.getAddPermissionSetModel;\r\n    this.addPermissionSetFormOptions.serviceSubmitFunction = this.getAddPermissionSetFunction;\r\n    this.addPermissionSetFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 100;\r\n\r\n    this.activeDirectoryGroup = new TextBoxOptions();\r\n    this.activeDirectoryGroup.name = \"ActiveDirectoryGroup\";\r\n    this.activeDirectoryGroup.labelKey = \"ActiveDirectoryGroup\";\r\n    this.activeDirectoryGroup.type = InputType.Text;\r\n    this.activeDirectoryGroup.value = null;\r\n    this.activeDirectoryGroup.maxLength = 64;\r\n\r\n\r\n    this.sysName = new TextBoxOptions();\r\n    this.sysName.name = \"SysName\";\r\n    this.sysName.labelKey = \"SysName\";\r\n    this.sysName.type = InputType.Text;\r\n    this.sysName.value = null;\r\n    this.sysName.maxLength = 100;\r\n\r\n    this.permissions = new DropdownOptions();\r\n    this.permissions.name = \"PermissionIDs\";\r\n    this.permissions.labelKey = \"Permissions\";\r\n    this.permissions.selectedItems = null;\r\n    this.permissions.singleSelection = false;\r\n    this.permissions.allowSearchFilter = true;\r\n    this.permissions.dataSource=this.permissionList;\r\n\r\n    this.organization = new DropdownOptions();\r\n    this.organization.name = \"OrganizationID_GUID\";\r\n    this.organization.labelKey = \"Organization\";\r\n    this.organization.selectedItems = null;\r\n    this.organization.dataSource = this.organizationList;\r\n    this.organization.singleSelection = true;\r\n    this.organization.allowSearchFilter = true;\r\n    this.organization.isRequired = false;\r\n\r\n    this.modalService.open(AddPermissionSetModal);\r\n    this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  getAddPermissionSetModel = (): PermissionSetModel[] => {\r\n    let ResultModel = this.addPermissionSetForm.value as any;\r\n    let AddPermissionSetModel: PermissionSetModel = new PermissionSetModel();\r\n    if (this.ProductionMode == false)\r\n      AddPermissionSetModel.sysName = ResultModel.SysName;\r\n\r\n    AddPermissionSetModel.name = ResultModel.Name;\r\n    AddPermissionSetModel.organizationID_GUID = ResultModel[this.organization.name];\r\n    let Ids = [];\r\n    if (ResultModel.PermissionIDs != null) {\r\n      for (let index = 0; index < ResultModel.PermissionIDs.length; index++) {\r\n        const element = ResultModel.PermissionIDs[index];\r\n        Ids.push(element);\r\n      }\r\n    }\r\n    AddPermissionSetModel.permissionIDs = Ids;\r\n    AddPermissionSetModel.activeDirectoryGroup = ResultModel.ActiveDirectoryGroup;\r\n    return Array(AddPermissionSetModel);\r\n  };\r\n\r\n  getAddPermissionSetFunction = (addModel: PermissionSetModel): Observable<any> => {\r\n    return this.permissionSetService.addPermissionSet(addModel);\r\n  };\r\n  //#endregion\r\n\r\n\r\n  //#region Start of PermissionSet edit part\r\n  showEditPermissionSetModal(permissionSetID: string, editPermissionSetModal) {\r\n\r\n    this.editPermissionSetForm = new FormGroup({});\r\n\r\n    this.editPermissionSetFormOptions = new FormOptions();\r\n    this.editPermissionSetFormOptions.formGroup = this.editPermissionSetForm;\r\n    this.editPermissionSetFormOptions.getModelFunction = this.getEditPermissionSetModel;\r\n    this.editPermissionSetFormOptions.serviceSubmitFunction = this.getEditPermissionSetFunction;\r\n    this.editPermissionSetFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n    this.permissionSetService.getPermissionSet(permissionSetID).subscribe((result: any) => {\r\n      let PermissionSet = result.model;\r\n      let lists = result.lists;\r\n      this.organizationList = lists.organizations;\r\n      this.permissionList=lists.permissions\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = PermissionSet.name.arabic;\r\n      name.english = PermissionSet.name.english;\r\n\r\n      this.editMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.editMultiLingualName.name = \"Name\";\r\n      this.editMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.editMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.editMultiLingualName.isRequired = true;\r\n      this.editMultiLingualName.value = name;\r\n      this.editMultiLingualName.maxLength = 100;\r\n\r\n\r\n      this.editPermissionSetId = PermissionSet.iD_GUID;\r\n\r\n      this.editActiveDirectoryGroup = new TextBoxOptions();\r\n      this.editActiveDirectoryGroup.name = \"ActiveDirectoryGroup\";\r\n      this.editActiveDirectoryGroup.labelKey = \"ActiveDirectoryGroup\";\r\n      this.editActiveDirectoryGroup.type = InputType.Text;\r\n      this.editActiveDirectoryGroup.value = PermissionSet.activeDirectoryGroup;\r\n      this.editActiveDirectoryGroup.maxLength = 64;\r\n\r\n      this.editSysName = new TextBoxOptions();\r\n      this.editSysName.name = \"SysName\";\r\n      this.editSysName.labelKey = \"SysName\";\r\n      this.editSysName.type = InputType.Text;\r\n      this.editSysName.value = PermissionSet.sysName;\r\n      this.editSysName.maxLength = 100;\r\n\r\n      let selectedPermissionList = [];\r\n      for (let index = 0; index < PermissionSet.permissionIDs.length; index++) {\r\n        const Permission = this.permissionList.filter((item) => { return item.key?.toLowerCase() == PermissionSet.permissionIDs[index]?.toLowerCase(); }).map((item) => item.key.toLowerCase())[0];\r\n        selectedPermissionList.push(Permission);\r\n      }\r\n\r\n      this.editPermissions = new DropdownOptions();\r\n      this.editPermissions.name = \"PermissionIDs\";\r\n      this.editPermissions.labelKey = \"Permissions\";\r\n      this.editPermissions.selectedItems = selectedPermissionList;\r\n      this.editPermissions.singleSelection = false;\r\n      this.editPermissions.allowSearchFilter = true;\r\n      this.editPermissions.dataSource=this.permissionList;\r\n\r\n      this.editOrganization = new DropdownOptions();\r\n      this.editOrganization.name = \"OrganizationID_GUID\";\r\n      this.editOrganization.labelKey = \"Organization\";\r\n      this.editOrganization.selectedItems = PermissionSet.organizationID_GUID?.toLowerCase();\r\n      this.editOrganization.dataSource = this.organizationList;\r\n      this.editOrganization.singleSelection = true;\r\n      this.editOrganization.allowSearchFilter = true;\r\n      this.editOrganization.isRequired = false;\r\n\r\n      this.modalService.open(editPermissionSetModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditPermissionSetModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editPermissionSetForm.value as any;\r\n    let EditPermissionSetModel: PermissionSetModel = new PermissionSetModel();\r\n    EditPermissionSetModel.iD_GUID = this.editPermissionSetId;\r\n    EditPermissionSetModel.name = ResultModel.Name;\r\n    if (this.ProductionMode == false)\r\n      EditPermissionSetModel.sysName = ResultModel.SysName;\r\n\r\n    EditPermissionSetModel.activeDirectoryGroup = ResultModel.ActiveDirectoryGroup;\r\n    EditPermissionSetModel.organizationID_GUID = ResultModel[this.editOrganization.name];\r\n    let Ids = [];\r\n    if (ResultModel.PermissionIDs != null) {\r\n      for (let index = 0; index < ResultModel.PermissionIDs.length; index++) {\r\n        const element = ResultModel.PermissionIDs[index];\r\n        Ids.push(element);\r\n      }\r\n    }\r\n    EditPermissionSetModel.permissionIDs = Ids;\r\n    paramArray.push(EditPermissionSetModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditPermissionSetFunction = (EditPermissionSetModel): Observable<any> => {\r\n    return this.permissionSetService.editPermissionSet(EditPermissionSetModel);\r\n  };\r\n  //#endregion\r\n\r\n  //#region Start of delete PermissionSet part\r\n  showDeletePermissionSetModal(PermissionSetId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedPermissionSetId = PermissionSetId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedPermissionSetId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deletePermissionSet;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deletePermissionSet = (id: string): Observable<any> => {\r\n    return this.permissionSetService.deletePermissionSet(id);\r\n  };\r\n  //#endregion\r\n\r\n\r\n  //#region helpers\r\n\r\n  filterPermissionSetList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredPermissionSetPagingResult = this.permissionSetPagingResult.filter(item => item.permissionSetName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredPermissionSetPagingResult = this.permissionSetPagingResult;\r\n  }\r\n\r\n  onChangeOrganization(id: any,permissionsDDL:DropdownListComponent, isAdd: boolean=false) {\r\n    this.permissionSetService.loadAddEditDropdown(id).subscribe((result:any) => {\r\n      if (isAdd) {\r\n        this.permissions.selectedItems = null;\r\n      }\r\n      else {\r\n        this.editPermissions.selectedItems = null;\r\n      }\r\n      permissionsDDL.updateDataSource(result.permissions);\r\n    });\r\n  }\r\n\r\n  //#endregion\r\n\r\n  //#region Destroy Observable\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  //#endregion\r\n}\r\n","<block-ui>\r\n  <!-- Subheader -->\r\n  <!-- Page Content -->\r\n  <div class=\"container-fluid\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"permissionSetForm\"></BBSF-TextBox>\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <div\r\n            *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\"\r\n            ngbDropdown\r\n            class=\"d-inline-block\"\r\n            [ngStyle]=\"{ display: showPageContent == true ? 'block' : 'none' }\">\r\n            <button\r\n              (click)=\"loadLists()\"\r\n              ngbDropdownToggle\r\n              href=\"javascript:;\"\r\n              type=\"button\"\r\n              class=\"btn btn-sm btn-light-primary me-3\"\r\n              id=\"FiltersDropdown\"\r\n              title=\"Filter\">\r\n              <i class=\"fas fa-filter me-1\"></i>\r\n              {{ utilityService.getResourceValue('Filter') }}\r\n            </button>\r\n            <div\r\n              *ngIf=\"isFilterLoaded\"\r\n              ngbDropdownMenu\r\n              aria-labelledby=\"FiltersDropdown\"\r\n              class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n              <form [formGroup]=\"permissionSetForm\">\r\n                <div class=\"px-7 py-5\">\r\n                  <div class=\"row\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">\r\n                    <div>\r\n                      <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\" [group]=\"permissionSetForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"d-flex justify-content-end\">\r\n                    <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"permissionSetResetButton\">\r\n                      {{ utilityService.getResourceValue('Reset') }}\r\n                    </button>\r\n                  </div>\r\n                </div>\r\n              </form>\r\n            </div>\r\n          </div>\r\n\r\n          <!-- begin::Menu -->\r\n\r\n          <button\r\n            *ngIf=\"isSuperAdmin\"\r\n            type=\"button\"\r\n            class=\"btn btn-sm btn-primary\"\r\n            title=\"Add\"\r\n            (click)=\"showAddPermissionSetModal(AddPermissionSetModal)\">\r\n            <i class=\"fas fa-plus me-1\"></i>\r\n            {{ utilityService.getResourceValue('Add') }}\r\n          </button>\r\n\r\n          <!-- end::Menu -->\r\n        </div>\r\n      </div>\r\n      <div class=\"card-body py-3\">\r\n        <div class=\"table-responsive\">\r\n          <!--begin::Permission list-->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n                <th class=\"min-w-150px\" *ngIf=\"!ProductionMode\">{{ utilityService.getResourceValue('SysName') }}</th>\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('UsersCount') }}</th>\r\n                <th class=\"min-w-150\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ utilityService.getResourceValue('Organization') }}</th>\r\n                <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n              <tr *ngFor=\"let PermissionSet of filteredPermissionSetPagingResult\">\r\n                <td>\r\n                  <a\r\n                    href=\"javascript:void(0)\"\r\n                    [routerLink]=\"['/Admin/Roles/PermissionSetInfo', PermissionSet.iD_GUID]\"\r\n                    routerLinkActive=\"router-link-active\"\r\n                    class=\"text-dark\"\r\n                    >{{ PermissionSet.permissionSetName }}</a\r\n                  >\r\n                </td>\r\n                <td *ngIf=\"!ProductionMode\">{{ PermissionSet.sysName }}</td>\r\n                <td>{{ PermissionSet.usersCount }}</td>\r\n                <td *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ PermissionSet.currentOrganizationName ?? '-' }}</td>\r\n                <td>\r\n                  <div *ngIf=\"isSuperAdmin\">\r\n                    <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                      <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                    </button>\r\n                    <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                      <a class=\"drop-item px-3\" ngbDropdownItem (click)=\"showEditPermissionSetModal(PermissionSet.iD_GUID, EditPermissionSetModal)\">\r\n                        <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                      </a>\r\n                      <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeletePermissionSetModal(PermissionSet.iD_GUID)\">\r\n                        <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                      </a>\r\n                    </mat-menu>\r\n                  </div>\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"filteredPermissionSetPagingResult.length == 0\">\r\n                <td [attr.colspan]=\"ProductionMode ? '3' : '4'\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n          <!--end::Permission list-->\r\n        </div>\r\n      </div>\r\n      <div class=\"card-footer border-0\">\r\n        <BBSF-Paging\r\n          (Items)=\"setPermissionSetListResult($event)\"\r\n          *ngIf=\"isFilterLoaded\"\r\n          [options]=\"permissionSetPaging\"\r\n          [group]=\"permissionSetForm\"\r\n          #PermissionSetPagingViewElement>\r\n        </BBSF-Paging>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <!-- #region Add Modal -->\r\n  <ng-template #AddPermissionSetModal let-modal>\r\n    <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n      <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n      <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n        <span class=\"svg-icon svg-icon-1\">\r\n          <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n        </span>\r\n      </button>\r\n    </div>\r\n    <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n      <div class=\"mb-13 text-center\">\r\n        <h1 class=\"mb-3\">{{ utilityService.getResourceValue('AddPermissionSet') }}</h1>\r\n      </div>\r\n      <BBSF-Form [options]=\"addPermissionSetFormOptions\">\r\n        <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addPermissionSetForm\"></BBSF-MultiLingualTextBox>\r\n        <BBSF-TextBox [options]=\"activeDirectoryGroup\" [group]=\"addPermissionSetForm\"> </BBSF-TextBox>\r\n        <BBSF-TextBox *ngIf=\"!ProductionMode\" [options]=\"sysName\" [group]=\"addPermissionSetForm\"> </BBSF-TextBox>\r\n        <BBSF-DropdownList\r\n          *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\"\r\n          [options]=\"organization\"\r\n          [group]=\"addPermissionSetForm\"\r\n          (onChange)=\"onChangeOrganization($event,addPermissionsDDL, true)\">\r\n        </BBSF-DropdownList>\r\n        <BBSF-DropdownList #addPermissionsDDL [options]=\"permissions\" [group]=\"addPermissionSetForm\"> </BBSF-DropdownList>\r\n        <div class=\"text-center pt-7\">\r\n          <button\r\n            type=\"button\"\r\n            #ClosePermissionSetModal\r\n            id=\"ClosePermissionSetModal\"\r\n            data-dismiss=\"modal\"\r\n            aria-label=\"Close\"\r\n            class=\"btn btn-light me-3 btn-sm\"\r\n            (click)=\"modal.dismiss()\">\r\n            {{ utilityService.getResourceValue('CancelLabel') }}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </ng-template>\r\n  <!-- #endregion -->\r\n\r\n  <!-- #region Edit Modal -->\r\n  <ng-template #EditPermissionSetModal let-modal>\r\n    <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n      <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n      <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n        <span class=\"svg-icon svg-icon-1\">\r\n          <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n        </span>\r\n      </button>\r\n    </div>\r\n    <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n      <div class=\"mb-13 text-center\">\r\n        <h1 class=\"mb-3\">{{ utilityService.getResourceValue('EditPermissionSet') }}</h1>\r\n      </div>\r\n      <BBSF-Form [options]=\"editPermissionSetFormOptions\">\r\n        <BBSF-MultiLingualTextBox [options]=\"editMultiLingualName\" [group]=\"editPermissionSetForm\"></BBSF-MultiLingualTextBox>\r\n        <BBSF-TextBox [options]=\"editActiveDirectoryGroup\" [group]=\"editPermissionSetForm\"> </BBSF-TextBox>\r\n        <div *ngIf=\"!ProductionMode\">\r\n          <BBSF-TextBox [options]=\"editSysName\" [group]=\"editPermissionSetForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <BBSF-DropdownList\r\n          *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\"\r\n          [options]=\"editOrganization\"\r\n          [group]=\"editPermissionSetForm\"\r\n          (onChange)=\"onChangeOrganization($event,editPermissionsDDL)\">\r\n        </BBSF-DropdownList>\r\n        <BBSF-DropdownList #editPermissionsDDL [options]=\"editPermissions\" [group]=\"editPermissionSetForm\"> </BBSF-DropdownList>\r\n        <div class=\"text-center pt-7\">\r\n          <button\r\n            type=\"button\"\r\n            #CloseEditPermissionSetModal\r\n            id=\"CloseEditPermissionSetModal\"\r\n            data-dismiss=\"modal\"\r\n            aria-label=\"Close\"\r\n            class=\"btn btn-light me-3 btn-sm\"\r\n            (click)=\"modal.dismiss()\">\r\n            {{ utilityService.getResourceValue('CancelLabel') }}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </ng-template>\r\n  <!-- #endregion -->\r\n\r\n  <!--delete Modal-->\r\n  <BBSF-ConfirmationModal\r\n    *ngIf=\"deleteControlLoaded\"\r\n    [options]=\"deleteConfirmationOptions\"\r\n    id=\"ConfirmationModalControl\"\r\n    #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n</block-ui>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuthGuard } from './authentication/auth.guard';\r\nimport { AuthService, BBSFUtilitiesModule } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [],\r\n  imports: [\r\n    CommonModule,\r\n    BBSFUtilitiesModule\r\n  ],\r\n  providers: [\r\n    AuthService,\r\n    AuthGuard\r\n\r\n  ]\r\n})\r\nexport class AuthModule { }\r\n","export class PermissionSetUsersIDRequestModel {\r\n  UsersIDs: string[] = []\r\n  PermissionSetId: string;\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, FormOptions, InputType, PagingComponent, PagingOptions, TagsInputOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { PermissionSetUsersIDRequestModel } from '../../shared/models/PermissionsModels/PermissionSetUsersIDRequestModel';\r\nimport { PermissionSetService } from '../../shared/Services/PermissionSetService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { PermissionSetModel } from './../../shared/models/PermissionsModels/PermissionSetModel';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-permission-set-info',\r\n    templateUrl: './permission-set-info.component.html',\r\n    standalone: false\r\n})\r\nexport class PermissionSetInfoComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.permissionSetService.ApiUrl;\r\n\r\n  //Parent department data\r\n  PermissionSetId: string = \"\";\r\n  PermissionSet: PermissionSetModel = new PermissionSetModel();\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  permissionSetIdTextBox: TextBoxOptions;\r\n  filterForm = new FormGroup({});\r\n  userPermissionSetForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  userPermissionSetPagingResult: any[] = [];\r\n  filteredUserPermissionSetPagingResult: any[] = [];\r\n\r\n  userPermissionSetPaging: PagingOptions;\r\n  textInputFilter: FilterItem;\r\n  permissionSetIdTextInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('UserPermissionSetPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n\r\n  //Add Model Controls\r\n  addUsersToPermissionSetForm = new FormGroup({});\r\n  addUsersToPermissionSetFormOptions: FormOptions;\r\n  userAutoComplete: TagsInputOptions;\r\n\r\n  //delete  Model Controls\r\n  deleteUserId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private activatedRoute: ActivatedRoute,\r\n    private authService: AuthService,\r\n    private permissionSetService: PermissionSetService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.PermissionSetId = params['id'];\r\n    });\r\n  }\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    this.loadBreadCrumpData();\r\n\r\n  }\r\n\r\n\r\n  //Paging functions\r\n  setUserPermissionSetListResult(result) {\r\n    this.userPermissionSetPagingResult = result;\r\n    this.filteredUserPermissionSetPagingResult = this.userPermissionSetPagingResult;\r\n  }\r\n\r\n  //Get parent PermissionSets name and set page title and breadcrumbs\r\n  loadBreadCrumpData() {\r\n    this.permissionSetService.getPermissionSetInfo(this.PermissionSetId).subscribe((result) => {\r\n      let resultModel = result as any;\r\n      PageInfoService.PageTitle = resultModel.val;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"PermissionSets\"), path: '/Admin/Roles/PermissionSets', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n      //initialize page\r\n      this.initializePage();\r\n    });\r\n  }\r\n\r\n  //initialize page\r\n  initializePage() {\r\n    this.isFilterLoaded = false;\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByNameOrEmail\");\r\n\r\n    this.permissionSetIdTextBox = new TextBoxOptions();\r\n    this.permissionSetIdTextBox.name = \"PermissionSetIdTextBox\";\r\n    this.permissionSetIdTextBox.hideLabel = true;\r\n    this.permissionSetIdTextBox.type = InputType.Text;\r\n    this.permissionSetIdTextBox.value = this.PermissionSetId;\r\n    this.permissionSetIdTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.permissionSetIdTextInputFilter = new FilterItem();\r\n    this.permissionSetIdTextInputFilter.formControlName = \"PermissionSetIdTextBox\";\r\n    this.permissionSetIdTextInputFilter.actionParameterName = \"permissionSetId\";\r\n    this.permissionSetIdTextInputFilter.isFormControl = true;\r\n    this.permissionSetIdTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.userPermissionSetPaging = new PagingOptions();\r\n    this.userPermissionSetPaging.actionPostURL = this.ApiUrl + 'GetUsersByFilter';\r\n    this.userPermissionSetPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"PermissionSetIdTextBox\"];\r\n    this.userPermissionSetPaging.filters = [this.textInputFilter, this.permissionSetIdTextInputFilter];\r\n\r\n    this.isFilterLoaded = true;\r\n  }\r\n\r\n\r\n\r\n\r\n  ///////////// Start add user Part//////////////////////\r\n  showAddUserToPermissionSetModal(addUserToDepartmentModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.addUsersToPermissionSetForm = new FormGroup({});\r\n    this.addUsersToPermissionSetFormOptions = new FormOptions();\r\n    this.addUsersToPermissionSetFormOptions.formGroup = this.addUsersToPermissionSetForm;\r\n    this.addUsersToPermissionSetFormOptions.getModelFunction = this.getAddUserToPermissionSetModel;\r\n    this.addUsersToPermissionSetFormOptions.serviceSubmitFunction = this.getAddUserToPermissionSetFunction;\r\n    this.addUsersToPermissionSetFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.userAutoComplete = new TagsInputOptions();\r\n    this.userAutoComplete.name = \"UserAutoComplete\";\r\n    this.userAutoComplete.labelKey = \"Users\";\r\n    this.userAutoComplete.isRequired = true;\r\n    this.userAutoComplete.value = null;\r\n    this.userAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUserList\";\r\n    this.userAutoComplete.selectedItemsParamName;\r\n    this.userAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n    this.userAutoComplete.extraFilters = \"permSetID=\" + this.PermissionSetId;\r\n    this.modalService.open(addUserToDepartmentModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n\r\n  }\r\n\r\n  getAddUserToPermissionSetModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addUsersToPermissionSetForm.value as any;\r\n    let AddModel: PermissionSetUsersIDRequestModel = new PermissionSetUsersIDRequestModel();\r\n    for (let index = 0; index < ResultModel.UserAutoComplete.length; index++) {\r\n      const key = ResultModel.UserAutoComplete[index].id;\r\n      AddModel.UsersIDs.push(key);\r\n\r\n    }\r\n    AddModel.PermissionSetId = this.PermissionSetId;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddUserToPermissionSetFunction = (AddModel): Observable<any> => {\r\n    if (AddModel.UsersIDs.length) {\r\n      return this.permissionSetService.addUsersToPermissionSet(AddModel);\r\n    }\r\n    else {\r\n      return;\r\n    }\r\n  };\r\n\r\n  ///////////// End add User Part//////////////////////\r\n\r\n\r\n\r\n  ///////////Start delete user from PermissionSet//////////////////////\r\n  showDeleteUserFromPermissionSetModal(encryptedUserId: string) {\r\n    this.deleteUserId = encryptedUserId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteUserId);\r\n    paramArray.push(this.PermissionSetId);\r\n\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteUserFromPermissionSet;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteUserFromPermissionSet = (deleteUserId: string, PerSetId: string): Observable<any> => {\r\n    return this.permissionSetService.deleteUserFromPermissionSet(deleteUserId, PerSetId);\r\n  };\r\n  ///////////End delete user from department//////////////////////\r\n\r\n  filterUserList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredUserPermissionSetPagingResult = this.userPermissionSetPagingResult.filter(item => item.userName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredUserPermissionSetPagingResult = this.userPermissionSetPagingResult;\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <!--(OnChange)=\"filterUserList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"userPermissionSetForm\"></BBSF-TextBox>\r\n        <BBSF-TextBox [hidden]=\"true\" [options]=\"permissionSetIdTextBox\" [group]=\"userPermissionSetForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddUserToPermissionSetModal(AddUserToPermissionSetModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{ utilityService.getResourceValue('Add') }}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Email') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Roles') }}</th>\r\n              <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let user of filteredUserPermissionSetPagingResult\">\r\n              <td>\r\n                <span class=\"text-dark\">{{ user.userName }}</span>\r\n              </td>\r\n              <td>{{ user.email }}</td>\r\n              <td>{{ user.userPermsets }}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeleteUserFromPermissionSetModal(user.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredUserPermissionSetPagingResult.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setUserPermissionSetListResult($event)\" *ngIf=\"isFilterLoaded\"\r\n        [options]=\"userPermissionSetPaging\" [group]=\"userPermissionSetForm\" #UserPermissionSetPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddUserToPermissionSetModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Add') }} {{ utilityService.getResourceValue('User') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addUsersToPermissionSetFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TagsInput [options]=\"userAutoComplete\" [group]=\"addUsersToPermissionSetForm\"> </BBSF-TagsInput>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseAddUsersToDepartment id=\"CloseAddUsersToDepartment\" type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PermissionSetInfoComponent } from './permission-set-info/permission-set-info.component';\r\nimport { PermissionsComponent } from './permissions/permissions.component';\r\nimport { PermissionsetsComponent } from './permissionsets/permissionsets.component';\r\nimport { RolesComponent } from './roles.component';\r\n\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: RolesComponent,\r\n    children: [\r\n      {\r\n        path: \"Permissions\",\r\n        component: PermissionsComponent\r\n      },\r\n      {\r\n        path: \"PermissionSets\",\r\n        component: PermissionsetsComponent\r\n      },\r\n      {\r\n        path: \"PermissionSetInfo/:id\",\r\n        component: PermissionSetInfoComponent\r\n      },\r\n      {\r\n        path: \"\",\r\n        redirectTo: 'Permissions',\r\n        pathMatch: 'full'\r\n      },\r\n    ]\r\n  }\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class RolesRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class DataSecretService {\r\n\r\n  constructor(private http: HttpClient) {\r\n  }\r\n\r\n  fetchTopSecretData(token: string) {\r\n\r\n    const httpOptions = {\r\n      headers: new HttpHeaders({\r\n        'Content-Type': 'application/json',\r\n        'Authorization': token\r\n      })\r\n    };\r\n\r\n    return this.http.get('/api/Claims/GetClaims', httpOptions);\r\n  }\r\n}\r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\n@Component({\r\n    selector: 'app-subheader',\r\n    templateUrl: './subheader.component.html',\r\n    standalone: false\r\n})\r\nexport class SubheaderComponent implements OnInit, AfterViewInit {\r\n  @Input() SubheaderTitle: string;\r\n  @Input() BreadcrumbTitle: string;\r\n  @Input() BreadcrumbTitleSecond: string;\r\n  @Input() Url: string;\r\n  @Input() SecondUrl: string;\r\n\r\n  @Input() ShowbreadCrumb: boolean;\r\n  @Input() ShowToolbar: boolean = true;\r\n  @Input() ShowBreadcrumbSecond: boolean;\r\n \r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n\r\n  }\r\n  ngAfterViewInit(): void {\r\n\r\n  }\r\n\r\n}\r\n\r\n\r\n","\r\n<style>\r\n  .toolbar-custom {\r\n    padding: 25px;\r\n    background: #1a1a27;\r\n    margin-bottom:30px;\r\n  }\r\n</style>\r\n<div class=\"toolbar-custom\">\r\n  <div class=\"d-flex flex-stack\">\r\n    <div class=\"page-title d-flex align-items-center flex-wrap me-3\">\r\n      <ng-container>\r\n        <!-- begin::Title -->\r\n        <h1 class=\"d-flex align-items-center text-dark fw-bolder my-1 fs-3\">\r\n          {{SubheaderTitle}}\r\n        </h1>\r\n        <!-- end::Title -->\r\n        <ul class=\"breadcrumb breadcrumb-separatorless fw-bold fs-7 my-1\">\r\n          <li class=\"breadcrumb-item\">\r\n            <ng-container>\r\n              <a class=\"text-muted text-hover-primary\" [routerLink]=\"Url\" routerLinkActive=\"router-link-active\">\r\n                {{BreadcrumbTitle}}\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"ShowBreadcrumbSecond\">\r\n              <span class=\"bullet bg-gray-200 w-5px h-2px\"></span>\r\n            </ng-container>\r\n          </li>\r\n          <li class=\"breadcrumb-item text-dark\" *ngIf=\"ShowBreadcrumbSecond\" [routerLink]=\"SecondUrl\" routerLinkActive=\"router-link-active\"> {{BreadcrumbTitleSecond}}</li>\r\n        </ul>\r\n      </ng-container>\r\n    </div>\r\n\r\n\r\n    <div class=\"d-flex align-items-center py-1\">\r\n      <!-- begin::Wrapper  -->\r\n      <div class=\"me-4\">\r\n        <!-- begin::Menu  -->\r\n        <ng-content *ngIf=\"ShowToolbar\" select=\".subheadertoolbar\"></ng-content>\r\n\r\n        <!-- end::Menu  -->\r\n      </div>\r\n\r\n      <!-- end::Button  -->\r\n    </div>\r\n\r\n\r\n\r\n  </div>\r\n  <ng-content select=\".filter-container\"></ng-content>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SubheaderComponent } from './subheader.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SubheaderComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n  \r\n  ],\r\n  exports: [SubheaderComponent],\r\n})\r\nexport class SubheaderModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { RolesComponent } from './roles.component';\r\nimport { PermissionsComponent } from './permissions/permissions.component';\r\nimport { PermissionsetsComponent } from './permissionsets/permissionsets.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { RolesRoutingModule } from './roles-routing.module';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\nimport { PermissionSetInfoComponent } from './permission-set-info/permission-set-info.component';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { PermissionSetService } from '../shared/Services/PermissionSetService.service';\r\nimport { PermissionsService } from '../shared/Services/PermissionsService.service';\r\n\r\n@NgModule({\r\n  declarations: [RolesComponent, PermissionsComponent, PermissionsetsComponent, PermissionSetInfoComponent],\r\n  imports: [\r\n    RolesRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    DatePipe,\r\n    PermissionSetService,\r\n    PermissionsService\r\n\r\n\r\n  ]\r\n})\r\nexport class RolesModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-notifications',\r\n    templateUrl: './notifications.component.html',\r\n    standalone: false\r\n})\r\nexport class NotificationsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { EmailHeaderAndFooterTemplate } from \"../models/NotificationsModels/EmailHeaderAndFooterTemplate\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\nimport { DropdownsResponseModel } from \"../models\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class EmailHeaderAndFooterTemplateService {\r\n  ;\r\n  ApiUrl = \"/api/admin/EmailHeaderAndFooterTemplate/\";\r\n\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  //#region helpers\r\n\r\n  loadDropdownForFilters() {\r\n    return this.http.get<DropdownsResponseModel>(`${this.ApiUrl}LoadFiltersDropdowns`);\r\n  }\r\n\r\n  //#endregion\r\n\r\n  addEmailHeaderAndFooterTemplate(AddModel: EmailHeaderAndFooterTemplate) {\r\n    return this.http.post(this.ApiUrl + 'AddEmailHeaderAndFooterTemplate', AddModel);\r\n  }\r\n\r\n  getEmailHeaderAndFooterTemplateById(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id.toString());\r\n    return this.http.get(this.ApiUrl + 'EditEmailHeaderAndFooterTemplate', params);\r\n  }\r\n\r\n  editEmailHeaderAndFooterTemplate(EditModel) {\r\n    return this.http.post(this.ApiUrl + 'EditEmailHeaderAndFooterTemplate', EditModel);\r\n  }\r\n\r\n  generateCode() {\r\n    return this.http.get(this.ApiUrl + 'GenerateCodeAll', null);\r\n  }\r\n\r\n  deleteHeaderAndFooterTemplate(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteEmailHeaderAndFooterTemplate', JSON.stringify(id));\r\n  }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, DropdownListComponent, DropdownListItem, DropdownOptions, FilterItem, FilterType, InputType, PagingComponent, PagingOptions, PermissionSets, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { EmailHeaderAndFooterTemplateService } from '../../shared/Services/EmailHeaderAndFooterTemplateService.Service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { EmailHeaderAndFooterTemplate } from '../../shared/models/NotificationsModels/EmailHeaderAndFooterTemplate';\r\nimport { Constants } from '../../shared';\r\n\r\n@Component({\r\n    selector: 'lib-master-layouts',\r\n    templateUrl: './master-layouts.component.html',\r\n    standalone: false\r\n})\r\nexport class MasterLayoutsComponent implements OnInit {\r\n\r\n  //#region Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/EmailHeaderAndFooterTemplate/\";\r\n  ProductionMode: boolean;\r\n\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  showGeneralBtns: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n\r\n  organizationList: DropdownListItem[];\r\n  //#endregion\r\n\r\n  //#region Filter and paging components\r\n  @ViewChild('EmailHeaderAndFooterTemplatePagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n  @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n\r\n  IsFilterLoaded: boolean = false;\r\n  EmailHeaderAndFooterTemplateForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  EmailHeaderAndFooterTemplatePagingResult: EmailHeaderAndFooterTemplate[] = [];\r\n  clientSidePagingResult: EmailHeaderAndFooterTemplate[] = [];\r\n  EmailHeaderAndFooterTemplatePaging: PagingOptions;\r\n\r\n  organizationOptions: DropdownOptions;\r\n  organizationsFilter: FilterItem;\r\n\r\n  //#endregion\r\n\r\n  //#region delete  Model Controls\r\n  deleteEmailHeaderAndFooterTemplateId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n  //#endregion\r\n\r\n\r\n  //#region GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = \"\";\r\n  //#endregion\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService, private emailHeaderAndFooterTemplateService: EmailHeaderAndFooterTemplateService,\r\n    private _clipboardService: ClipboardService, private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"MasterLayouts\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n    this.showGeneralBtns = this.isMultiTenancyAllowed && this.isSuperAdmin;\r\n    this.initializePage();\r\n  }\r\n\r\n  //#region initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    //#region organization option and filter\r\n\r\n    this.organizationOptions = new DropdownOptions();\r\n    this.organizationOptions.name = \"organization\";\r\n    this.organizationOptions.labelKey = \"Organizations\";\r\n    this.organizationOptions.singleSelection = true;\r\n    this.organizationOptions.allowSearchFilter = true;\r\n\r\n    //#endregion\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = this.searchTextBox.name;\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.EmailHeaderAndFooterTemplatePaging = new PagingOptions();\r\n    if (this.isMultiTenancyAllowed && this.isSuperAdmin) {\r\n      this.EmailHeaderAndFooterTemplatePaging.filters = this.EmailHeaderAndFooterTemplatePaging.filters ?? [];\r\n      this.EmailHeaderAndFooterTemplatePaging.dropdownFiltersControlNames = this.EmailHeaderAndFooterTemplatePaging.dropdownFiltersControlNames ?? [];\r\n      this.EmailHeaderAndFooterTemplatePaging.resetFilterButtonName=\"masterLayoutsResetFiltersBtn\";\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.EmailHeaderAndFooterTemplatePaging.filters.push(this.organizationsFilter);\r\n      this.EmailHeaderAndFooterTemplatePaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n\r\n    this.EmailHeaderAndFooterTemplatePaging.actionPostURL = this.ApiUrl + 'GetEmailHeaderAndFooterTemplateByFilter';\r\n    this.EmailHeaderAndFooterTemplatePaging.onKeyPressFiltersControlNames = [this.searchTextBox.name];\r\n    this.EmailHeaderAndFooterTemplatePaging.filters.push(this.TextInputFilter);\r\n    this.EmailHeaderAndFooterTemplatePaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  loadLists() {\r\n    if (!this.IsFilterDataLoaded) {\r\n      this.emailHeaderAndFooterTemplateService.loadDropdownForFilters().subscribe((result) => {\r\n        let DropdownsResponseModel = result;\r\n        this.organizationList = DropdownsResponseModel.organizations;\r\n\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(DropdownsResponseModel.organizations);\r\n\r\n        let organizationsElement = this.organizationDDL;\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n\r\n        this.IsFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n\r\n  //#endregion\r\n\r\n  //#region Paging functions\r\n  setEmailHeaderAndFooterTemplateResult(result) {\r\n    this.EmailHeaderAndFooterTemplatePagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.EmailHeaderAndFooterTemplatePagingResult;\r\n  }\r\n  //#endregion\r\n\r\n  //#region Delete Email Heade and Footer\r\n  showDeleteEmailHeaderAndFooterTemplateModal(emailHeaderandFooterIdEnc: any) {\r\n    this.deleteEmailHeaderAndFooterTemplateId = emailHeaderandFooterIdEnc;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteEmailHeaderAndFooterTemplateId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteEmailHeaderAndFooterTemplate;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteEmailHeaderAndFooterTemplate = (id: string): Observable<any> => {\r\n    return this.emailHeaderAndFooterTemplateService.deleteHeaderAndFooterTemplate(id);\r\n  };\r\n  //#endregion\r\n\r\n  //#region Generate Email Heade and Footer Code\r\n  showGenerateCodeModal(GenerateCodeModal) {\r\n    this.emailHeaderAndFooterTemplateService.generateCode().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n  //#endregion\r\n\r\n  //#region On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  //#endregion\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"EmailHeaderAndFooterTemplateForm\">\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"EmailHeaderAndFooterTemplateForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <div\r\n          *ngIf=\"EmailHeaderAndFooterTemplatePaging.filters.length != 0\"\r\n          ngbDropdown\r\n          class=\"d-inline-block\"\r\n          [ngStyle]=\"{ display: ShowPageContent == true ? 'block' : 'none' }\">\r\n          <button\r\n            (click)=\"loadLists()\"\r\n            ngbDropdownToggle\r\n            href=\"javascript:;\"\r\n            type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\"\r\n            id=\"FiltersDropdown\"\r\n            title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{ utilityService.getResourceValue('Filter') }}\r\n          </button>\r\n          <div\r\n            *ngIf=\"IsFilterLoaded\"\r\n            ngbDropdownMenu\r\n            aria-labelledby=\"FiltersDropdown\"\r\n            class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"EmailHeaderAndFooterTemplateForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">\r\n                    <BBSF-DropdownList\r\n                      #organizationDDL\r\n                      [options]=\"organizationOptions\"\r\n                      [group]=\"EmailHeaderAndFooterTemplateForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"masterLayoutsResetFiltersBtn\">\r\n                    {{ utilityService.getResourceValue('Reset') }}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <!-- begin::Menu -->\r\n        <a\r\n          id=\"btnSetPass\"\r\n          *ngIf=\"!ProductionMode\"\r\n          class=\"btn btn-sm btn-light-primary me-3\"\r\n          href=\"javascript:;\"\r\n          (click)=\"showGenerateCodeModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{ utilityService.getResourceValue('GenerateCode') }}\r\n        </a>\r\n        <button\r\n          type=\"button\"\r\n          title=\"Add\"\r\n          class=\"btn btn-primary btn-sm\"\r\n          [routerLink]=\"['/Admin/Notifications/Add']\"\r\n          routerLinkActive=\"router-link-active\">\r\n          <i class=\"fa fa-plus\"></i>{{ utilityService.getResourceValue('Add') }}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('NameInEnglish') }}</th>\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('NameInArabic') }}</th>\r\n              <th class=\"min-w-150\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ utilityService.getResourceValue('Organization') }}</th>\r\n              <th class=\"min-w-50\">{{ utilityService.getResourceValue('Action') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let template of clientSidePagingResult\">\r\n              <td class=\"text-dark\">\r\n                {{ template.name.english }}\r\n              </td>\r\n              <td>{{ template.name.arabic }}</td>\r\n              <td *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ template.organizationName ?? '-' }}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <button\r\n                      type=\"button\"\r\n                      ngbDropdownItem\r\n                      class=\"drop-item px-3\"\r\n                      [routerLink]=\"['/Admin/Notifications/Edit', template.iD_GUID]\"\r\n                      routerLinkActive=\"router-link-active\">\r\n                      <span class=\"drop-link\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </button>\r\n                    <button\r\n                      type=\"button\"\r\n                      ngbDropdownItem\r\n                      class=\"drop-item px-3\"\r\n                      id=\"btnResetPass\"\r\n                      (click)=\"showDeleteEmailHeaderAndFooterTemplateModal(template.iD_GUID)\">\r\n                      <span class=\"drop-link\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"3\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::Permission list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer\">\r\n      <BBSF-Paging\r\n        (Items)=\"setEmailHeaderAndFooterTemplateResult($event)\"\r\n        *ngIf=\"IsFilterLoaded\"\r\n        [options]=\"EmailHeaderAndFooterTemplatePaging\"\r\n        [group]=\"EmailHeaderAndFooterTemplateForm\"\r\n        #EmailHeaderAndFooterTemplatePagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"deleteControlLoaded\"\r\n  [options]=\"DeleteConfirmationOptions\"\r\n  id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('GenerateCode') }}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n      <div class=\"Row\">\r\n        <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput> </BBSF-TextArea>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{ utilityService.getResourceValue('CopyToClipboard') }}\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class EmailHeaderAndFooterTemplate {\r\n  iD_GUID: string = undefined;\r\n  name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  organizationName: string = undefined;\r\n  header: EnglishArabicDTO = new EnglishArabicDTO();\r\n  footer: EnglishArabicDTO = new EnglishArabicDTO();\r\n  headSection: EnglishArabicDTO = new EnglishArabicDTO();\r\n  headTagAttributes: EnglishArabicDTO = new EnglishArabicDTO();\r\n  organizationID_GUID: string = undefined;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { DropdownOptions, FormOptions, MultiLingualHtmlEditorOptions, MultiLingualTextBoxOptions, PermissionSets } from '@bnsights/bbsf-controls';\r\nimport { EmailHeaderAndFooterTemplateService } from '../../shared/Services/EmailHeaderAndFooterTemplateService.Service';\r\nimport { Router } from '@angular/router';\r\nimport { EmailHeaderAndFooterTemplate } from '../../shared/models/NotificationsModels/EmailHeaderAndFooterTemplate';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService, EnvironmentService, AuthService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-add-notification',\r\n    templateUrl: './add-notification.component.html',\r\n    standalone: false\r\n})\r\nexport class AddNotificationComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  organizationList = [];\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n\r\n  //Add Model Controls\r\n  AddForm = new FormGroup({});\r\n  AddFormOptions = new FormOptions;\r\n  MultiLingualName: MultiLingualTextBoxOptions;\r\n  MultiLingualHtmlHeadTagAttributes: MultiLingualTextBoxOptions;\r\n  MultiLingualHeader: MultiLingualHtmlEditorOptions;\r\n  MultiLingualFooter: MultiLingualHtmlEditorOptions;\r\n  MultiLingualHtmlHeadSection: MultiLingualHtmlEditorOptions;\r\n  organization: DropdownOptions = new DropdownOptions();\r\n\r\n\r\n  constructor(public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private emailHeaderAndFooterTemplateService: EmailHeaderAndFooterTemplateService, private router: Router,\r\n    private requestHandlerService: RequestHandlerService,private pageInfoService: PageInfoService,\r\n    private authService: AuthService, private environmentService: EnvironmentService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"AddMasterLayout\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"MasterLayouts\"), path: '/Notifications/MasterLayouts', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n\r\n    this.initializePage();\r\n\r\n  }\r\n\r\n  //Initialize add page\r\n  initializePage() {\r\n    this.emailHeaderAndFooterTemplateService.loadDropdownForFilters().subscribe(res => {\r\n      this.organizationList = res.organizations;\r\n\r\n      this.AddForm = new FormGroup({});\r\n      this.AddFormOptions = new FormOptions();\r\n      this.AddFormOptions.formGroup = this.AddForm;\r\n      this.AddFormOptions.getModelFunction = this.getAddModel;\r\n      this.AddFormOptions.serviceSubmitFunction = this.getAddFunction;\r\n      this.AddFormOptions.onSuccessHandler = this.onAddSuccess;\r\n\r\n      this.organization.name = \"OrganizationID_GUID\";\r\n      this.organization.labelKey = \"Organization\";\r\n      this.organization.selectedItems = null;\r\n      this.organization.dataSource = this.organizationList;\r\n      this.organization.singleSelection = true;\r\n      this.organization.allowSearchFilter = true;\r\n      this.organization.isRequired = false;\r\n\r\n      this.MultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.MultiLingualName.name = \"Name\";\r\n      this.MultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.MultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.MultiLingualName.isRequired = true;\r\n      this.MultiLingualName.maxLength = 100;\r\n\r\n      this.MultiLingualHtmlHeadTagAttributes = new MultiLingualTextBoxOptions();\r\n      this.MultiLingualHtmlHeadTagAttributes.name = \"HtmlHeadTagAttributes\";\r\n      this.MultiLingualHtmlHeadTagAttributes.arabicLabelKey = \"HtmlHeadTagAttributesInArabic\";\r\n      this.MultiLingualHtmlHeadTagAttributes.englishLabelKey = \"HtmlHeadTagAttributesInEnglish\";\r\n\r\n      this.MultiLingualHeader = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualHeader.name = \"Header\";\r\n      this.MultiLingualHeader.arabicLabelKey = \"HeaderInArabic\";\r\n      this.MultiLingualHeader.englishLabelKey = \"HeaderInEnglish\";\r\n      this.MultiLingualHeader.isRequired = true;\r\n\r\n      this.MultiLingualFooter = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualFooter.name = \"Footer\";\r\n      this.MultiLingualFooter.arabicLabelKey = \"FooterInArabic\";\r\n      this.MultiLingualFooter.englishLabelKey = \"FooterInEnglish\";\r\n      this.MultiLingualFooter.isRequired = true;\r\n\r\n      this.MultiLingualHtmlHeadSection = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualHtmlHeadSection.name = \"HtmlHeadSection\";\r\n      this.MultiLingualHtmlHeadSection.arabicLabelKey = \"HTMLHeadSectionInArabic\";\r\n      this.MultiLingualHtmlHeadSection.englishLabelKey = \"HTMLHeadSectionInEnglish\";\r\n\r\n      this.ShowPageContent = true;\r\n    });\r\n\r\n  }\r\n\r\n  getAddModel = (): EmailHeaderAndFooterTemplate[] => {\r\n    let ResultModel = this.AddForm.value as any;\r\n    let addModel = new EmailHeaderAndFooterTemplate();\r\n    addModel.name.english = ResultModel.Name.English;\r\n    addModel.name.arabic = ResultModel.Name.Arabic;\r\n    addModel.header.english = ResultModel.Header.English;\r\n    addModel.header.arabic = ResultModel.Header.Arabic;\r\n    addModel.footer.english = ResultModel.Footer.English;\r\n    addModel.footer.arabic = ResultModel.Footer.Arabic;\r\n    addModel.headSection.english = ResultModel.HtmlHeadSection.English;\r\n    addModel.headSection.arabic = ResultModel.HtmlHeadSection.Arabic;\r\n    addModel.headTagAttributes.english = ResultModel.HtmlHeadTagAttributes.English;\r\n    addModel.headTagAttributes.arabic = ResultModel.HtmlHeadTagAttributes.Arabic;\r\n    addModel.organizationID_GUID = ResultModel[this.organization.name];\r\n    return Array(addModel);\r\n  };\r\n\r\n  getAddFunction = (addModel: EmailHeaderAndFooterTemplate): Observable<any> => {\r\n    return this.emailHeaderAndFooterTemplateService.addEmailHeaderAndFooterTemplate(addModel);\r\n  };\r\n\r\n  onAddSuccess = (result) => {\r\n    this.cancelAdd();\r\n  };\r\n\r\n  cancelAdd() {\r\n    this.router.navigate(['/Admin/Notifications/MasterLayouts']);\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"ShowPageContent\">\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body\">\r\n      <BBSF-Form [options]=\"AddFormOptions\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"MultiLingualName\" [group]=\"AddForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualHeader\" [group]=\"AddForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualFooter\" [group]=\"AddForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualHtmlHeadSection\" [group]=\"AddForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"MultiLingualHtmlHeadTagAttributes\" [group]=\"AddForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"organization\" [group]=\"AddForm\"></BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelAdd()\">\r\n            {{ utilityService.getResourceValue('CancelLabel') }}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DropdownOptions, EnglishArabicDTO, FormOptions, MultiLingualHtmlEditorOptions, MultiLingualTextBoxOptions, PermissionSets } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { EmailHeaderAndFooterTemplate } from '../../shared/models/NotificationsModels/EmailHeaderAndFooterTemplate';\r\nimport { EmailHeaderAndFooterTemplateService } from '../../shared/Services/EmailHeaderAndFooterTemplateService.Service';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService, EnvironmentService, AuthService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-edit-notification',\r\n    templateUrl: './edit-notification.component.html',\r\n    standalone: false\r\n})\r\nexport class EditNotificationComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  //Edit Model Controls\r\n  EditForm = new FormGroup({});\r\n  EditFormOptions = new FormOptions;\r\n  TemplateId: string;\r\n  MultiLingualName: MultiLingualTextBoxOptions;\r\n  MultiLingualHtmlHeadTagAttributes: MultiLingualTextBoxOptions;\r\n  MultiLingualHeader: MultiLingualHtmlEditorOptions;\r\n  MultiLingualFooter: MultiLingualHtmlEditorOptions;\r\n  MultiLingualHtmlHeadSection: MultiLingualHtmlEditorOptions;\r\n  editOrganization: DropdownOptions = new DropdownOptions();\r\n\r\n\r\n  constructor(public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private emailHeaderAndFooterTemplateService: EmailHeaderAndFooterTemplateService, private activatedRoute: ActivatedRoute,\r\n    private router: Router, private requestHandlerService: RequestHandlerService,private pageInfoService: PageInfoService,\r\n    private authService: AuthService, private environmentService: EnvironmentService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.TemplateId = params['id'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"EditMasterLayout\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"MasterLayouts\"), path: '/Notifications/MasterLayouts', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n    this.loadDropdownLists();\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //Initialize edit page\r\n  initializePage() {\r\n    this.emailHeaderAndFooterTemplateService.getEmailHeaderAndFooterTemplateById(this.TemplateId).subscribe((result) => {\r\n      var EditObject = result as any;\r\n      this.EditForm = new FormGroup({});\r\n      this.EditFormOptions = new FormOptions();\r\n      this.EditFormOptions.formGroup = this.EditForm;\r\n      this.EditFormOptions.getModelFunction = this.getEditModel;\r\n      this.EditFormOptions.serviceSubmitFunction = this.getEditFunction;\r\n      this.EditFormOptions.onSuccessHandler = this.onEditSuccess;\r\n\r\n      this.TemplateId = EditObject.iD_GUID;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = EditObject.name.arabic;\r\n      Name.english = EditObject.name.english;\r\n\r\n      this.MultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.MultiLingualName.name = \"Name\";\r\n      this.MultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.MultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.MultiLingualName.isRequired = true;\r\n      this.MultiLingualName.value = Name;\r\n      this.MultiLingualName.maxLength = 100;\r\n\r\n      let HtmlHeadTagAttributes = new EnglishArabicDTO();\r\n      HtmlHeadTagAttributes.arabic = EditObject.headTagAttributes.arabic;\r\n      HtmlHeadTagAttributes.english = EditObject.headTagAttributes.english;\r\n\r\n      this.MultiLingualHtmlHeadTagAttributes = new MultiLingualTextBoxOptions();\r\n      this.MultiLingualHtmlHeadTagAttributes.name = \"HtmlHeadTagAttributes\";\r\n      this.MultiLingualHtmlHeadTagAttributes.arabicLabelKey = \"HtmlHeadTagAttributesInArabic\";\r\n      this.MultiLingualHtmlHeadTagAttributes.englishLabelKey = \"HtmlHeadTagAttributesInEnglish\";\r\n      this.MultiLingualHtmlHeadTagAttributes.value = HtmlHeadTagAttributes;\r\n\r\n\r\n      let Header = new EnglishArabicDTO();\r\n      Header.arabic = EditObject.header.arabic;\r\n      Header.english = EditObject.header.english;\r\n\r\n      this.MultiLingualHeader = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualHeader.name = \"Header\";\r\n      this.MultiLingualHeader.arabicLabelKey = \"HeaderInArabic\";\r\n      this.MultiLingualHeader.englishLabelKey = \"HeaderInEnglish\";\r\n      this.MultiLingualHeader.isRequired = true;\r\n      this.MultiLingualHeader.value = Header;\r\n\r\n\r\n      let Footer = new EnglishArabicDTO();\r\n      Footer.arabic = EditObject.footer.arabic;\r\n      Footer.english = EditObject.footer.english;\r\n\r\n      this.MultiLingualFooter = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualFooter.name = \"Footer\";\r\n      this.MultiLingualFooter.arabicLabelKey = \"FooterInArabic\";\r\n      this.MultiLingualFooter.englishLabelKey = \"FooterInEnglish\";\r\n      this.MultiLingualFooter.isRequired = true;\r\n      this.MultiLingualFooter.value = Footer;\r\n\r\n      let HtmlHeadSection = new EnglishArabicDTO();\r\n      HtmlHeadSection.arabic = EditObject.headSection.arabic;\r\n      HtmlHeadSection.english = EditObject.headSection.english;\r\n\r\n      this.MultiLingualHtmlHeadSection = new MultiLingualHtmlEditorOptions();\r\n      this.MultiLingualHtmlHeadSection.name = \"HtmlHeadSection\";\r\n      this.MultiLingualHtmlHeadSection.arabicLabelKey = \"HTMLHeadSectionInArabic\";\r\n      this.MultiLingualHtmlHeadSection.englishLabelKey = \"HTMLHeadSectionInEnglish\";\r\n      this.MultiLingualHtmlHeadSection.value = HtmlHeadSection;\r\n\r\n      this.editOrganization.name = \"OrganizationID_GUID\";\r\n      this.editOrganization.labelKey = \"Organization\";\r\n      this.editOrganization.selectedItems = EditObject.organizationID_GUID?.toLowerCase();\r\n      this.editOrganization.singleSelection = true;\r\n      this.editOrganization.allowSearchFilter = true;\r\n      this.editOrganization.isRequired = false;\r\n\r\n      this.ShowPageContent = true;\r\n    });\r\n  }\r\n  getEditModel = (): EmailHeaderAndFooterTemplate[] => {\r\n    let ResultModel = this.EditForm.value as any;\r\n    let editModel = new EmailHeaderAndFooterTemplate();\r\n    editModel.iD_GUID = this.TemplateId;\r\n    editModel.name.english = ResultModel.Name.English;\r\n    editModel.name.arabic = ResultModel.Name.Arabic;\r\n    editModel.header.english = ResultModel.Header.English;\r\n    editModel.header.arabic = ResultModel.Header.Arabic;\r\n    editModel.footer.english = ResultModel.Footer.English;\r\n    editModel.footer.arabic = ResultModel.Footer.Arabic;\r\n    editModel.headSection.english = ResultModel.HtmlHeadSection.English;\r\n    editModel.headSection.arabic = ResultModel.HtmlHeadSection.Arabic;\r\n    editModel.headTagAttributes.english = ResultModel.HtmlHeadTagAttributes.English;\r\n    editModel.headTagAttributes.arabic = ResultModel.HtmlHeadTagAttributes.Arabic;\r\n    editModel.organizationID_GUID = ResultModel[this.editOrganization.name];\r\n\r\n    return Array(editModel);\r\n  };\r\n\r\n  getEditFunction = (AddModel): Observable<any> => {\r\n    return this.emailHeaderAndFooterTemplateService.editEmailHeaderAndFooterTemplate(AddModel);\r\n  };\r\n\r\n  onEditSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Notifications/MasterLayouts']);\r\n  }\r\n\r\n  loadDropdownLists() {\r\n    this.emailHeaderAndFooterTemplateService.loadDropdownForFilters()\r\n      .subscribe(res => {\r\n        this.editOrganization.dataSource = res.organizations;\r\n      });\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"ShowPageContent\">\r\n    <div class=\"card-body\">\r\n      <BBSF-Form [options]=\"EditFormOptions\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"MultiLingualName\" [group]=\"EditForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualHeader\" [group]=\"EditForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualFooter\" [group]=\"EditForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"MultiLingualHtmlHeadSection\" [group]=\"EditForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"MultiLingualHtmlHeadTagAttributes\" [group]=\"EditForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"editOrganization\" [group]=\"EditForm\"> </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">\r\n            {{ utilityService.getResourceValue('CancelLabel') }}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { EmailTemplateInfoDTO } from \"./EmailTemplateInfoDTO\";\r\nimport { SMSTemplateInfoDTO } from \"./SMSTemplateInfoDTO\";\r\nexport class TemplateDTO {\r\n  ID_GUID: string;\r\n  CategoryItemID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  CategoryItemName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  SysName: string;\r\n  IsEmail: boolean;\r\n  IsSms: boolean;\r\n  EnableIntensiveLogging: boolean;\r\n  OrganizationID_GUID: string;\r\n  EmailHeaderAndFooterTemplateID_GUID: string;\r\n  EmailHeaderAndFooterTemplateName: string;\r\n  LanguageModeItemID_GUID: string;\r\n  LanguageModeItemName: string;\r\n  SMS: SMSTemplateInfoDTO;\r\n  Email: EmailTemplateInfoDTO;\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { TemplateDTO } from \"../models/NotificationsModels/TemplateDTO\";\r\nimport { SendEmailTemplateModel } from './../models/NotificationsModels/SendEmailTemplateModel';\r\nimport { EmailTemplateTesterModel } from \"../models/NotificationsModels/EmailTemplateTesterModel\";\r\nimport { SMSTemplateTesterModel } from \"../models/NotificationsModels/SMSTemplateTesterModel\";\r\nimport { TemplateEditViewModel } from \"../models/NotificationsModels/TemplateEditViewModel\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TemplateService {\r\n  ApiUrl = \"/api/admin/Templates/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'LoadFiltersDropdowns');\r\n  }\r\n  //Add\r\n  loadAddDropdowns(organizationID:string=null) {\r\n    let params = organizationID ? `?organizationID=${organizationID}` : '';\r\n    return this.http.get(this.ApiUrl + 'AddTemplate'+params);\r\n  }\r\n  addEmailTemplate(AddModel: TemplateDTO) {\r\n    return this.http.post(this.ApiUrl + 'AddTemplate', AddModel);\r\n  }\r\n\r\n  //Edit\r\n  getEditTemplateData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditTemplate', params);\r\n\r\n  }\r\n  editEmailTemplate(EditModel) {\r\n    return this.http.post(this.ApiUrl + 'EditTemplate', EditModel);\r\n  }\r\n\r\n  editEmailTemplateByLang(EditModel: TemplateEditViewModel) {\r\n    return this.http.post(this.ApiUrl + 'EditEmailTemplate', EditModel);\r\n  }\r\n\r\n  editSMSTemplateByLang(EditModel: TemplateEditViewModel) {\r\n    return this.http.post(this.ApiUrl + 'EditSMSTemplate', EditModel);\r\n  }\r\n\r\n  //Delete\r\n  deleteTemplate(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteEmailTemplate', JSON.stringify(id));\r\n  }\r\n\r\n  //Generate code\r\n  generateCodeAll() {\r\n    return this.http.get(this.ApiUrl + 'GenerateCodeAll');\r\n  }\r\n  generateAllUpdateCode() {\r\n    return this.http.get(this.ApiUrl + 'GenerateAllUpdateCode');\r\n  }\r\n\r\n  generateSysNames() {\r\n    return this.http.get(this.ApiUrl + 'GenerateSysNames');\r\n  }\r\n\r\n  generateCodeById(templateId: string) {\r\n    return this.http.post(this.ApiUrl + 'GenerateCodeById', JSON.stringify(templateId));\r\n  }\r\n\r\n  generateUpdateCodeById(templateId: string) {\r\n    return this.http.post(this.ApiUrl + 'GenerateUpdateCodeById', JSON.stringify(templateId));\r\n  }\r\n\r\n  getTemplateInfo(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"templateId\", id.toString());\r\n    return this.http.get(this.ApiUrl + 'GetTemplateInfo', params);\r\n  }\r\n\r\n  getTemplateInfoByLang(id: string, lang: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"templateId\", id.toString());\r\n    params = params.append(\"lang\", lang);\r\n    return this.http.get(this.ApiUrl + 'GetTemplateInfoByLang', params);\r\n  }\r\n\r\n\r\n  getSendEmailTemplate() {\r\n    return this.http.get(this.ApiUrl + 'GetSendEmailTemplate', null);\r\n  }\r\n\r\n  getTestSMSTemplate() {\r\n    return this.http.get(this.ApiUrl + 'GetTestSMSTemplate', null);\r\n  }\r\n\r\n  sendEmailTemplate(model: SendEmailTemplateModel) {\r\n    return this.http.post(this.ApiUrl + 'SendEmailTemplate', model);\r\n  }\r\n\r\n  testSendEmailTemplate(model: EmailTemplateTesterModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'TestTemplate', model);\r\n  }\r\n\r\n  testSMSTemplate(model: SMSTemplateTesterModel) {\r\n    return this.http.post(this.ApiUrl + 'TestSMSTemplate', model);\r\n  }\r\n\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, DropdownListComponent, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingActionMode, PagingComponent, PagingOptions, PermissionSets, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { TemplateDTO } from '../../shared/models/NotificationsModels/TemplateDTO';\r\nimport { TemplateService } from '../../shared/Services/TemplateService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { Constants } from '../../shared';\r\n\r\n@Component({\r\n    selector: 'lib-templates',\r\n    templateUrl: './templates.component.html',\r\n    standalone: false\r\n})\r\nexport class TemplatesComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Templates/\";\r\n  ProductionMode: boolean;\r\n\r\n  //Filter and paging components\r\n  CategoryOptions: DropdownOptions;\r\n  CategoryFilter: FilterItem;\r\n  TypeOptions: DropdownOptions;\r\n  TypeFilter: FilterItem;\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  TemplateForm = new FormGroup({});\r\n  TemplatePagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  TemplatePaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n  @ViewChild('TemplatePagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  CategoryList = [];\r\n  TypeList = [];\r\n  SelectedTemplateList = [];\r\n  OrganizationList = [];\r\n  LanguageModeList = [];\r\n  MasterLayoutList = [];\r\n  @ViewChild('categoriesDDL', { static: false }) categoriesDDL: ElementRef;\r\n  @ViewChild('typesDDL', { static: false }) typesDDL: ElementRef;\r\n\r\n  //Add Model Controls\r\n  AddTemplateForm = new FormGroup({});\r\n  AddTemplateFormOptions: FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddSysName: TextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddOrganization: DropdownOptions;\r\n  AddLanguageMode: DropdownOptions;\r\n  AddCategory: DropdownOptions;\r\n  AddMasterLayout: DropdownOptions;\r\n  AddIsEmail: CheckBoxOptions;\r\n  AddIsSms: CheckBoxOptions;\r\n  AddEnableIntensiveLogging: CheckBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  EditTemplateForm = new FormGroup({});\r\n  EditTemplateFormOptions: FormOptions;\r\n  TemplateId: string;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditSysName: TextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditOrganization: DropdownOptions;\r\n  EditLanguageMode: DropdownOptions;\r\n  EditCategory: DropdownOptions;\r\n  EditMasterLayout: DropdownOptions;\r\n  EditIsEmail: CheckBoxOptions;\r\n  EditIsSms: CheckBoxOptions;\r\n  EditEnableIntensiveLogging: CheckBoxOptions;\r\n\r\n  //delete  Model Controls\r\n  deletedTemplateId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = \"\";\r\n\r\n   //multi tenant\r\n   adminWithMultitenanEnabled:boolean;\r\n   organizationOptions: DropdownOptions;\r\n   organizationsFilter: FilterItem;\r\n   currentUserProfile: any;\r\n   permissionSets = PermissionSets;\r\n   addOrganizations:DropdownOptions;\r\n   editOrganizations:DropdownOptions;\r\n   addEditOrganizationsList=[];\r\n   @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n  constructor(\r\n    private authService: AuthService, private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService, private _clipboardService: ClipboardService,\r\n    private templateService: TemplateService, private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService) {\r\n      this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n      let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n      this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n  }\r\n  async ngOnInit() {\r\n    this.ShowPageContent = true;\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Templates\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    //on lang changed\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    // TextBox init\r\n    this.CategoryOptions = new DropdownOptions();\r\n    this.CategoryOptions.name = \"Category\";\r\n    this.CategoryOptions.labelKey = \"Category\";\r\n    this.CategoryOptions.singleSelection = false;\r\n    this.CategoryOptions.allowSearchFilter = true;\r\n    this.CategoryOptions.placeholder = \"\";\r\n\r\n    // Type init\r\n    this.TypeOptions = new DropdownOptions();\r\n    this.TypeOptions.name = \"Type\";\r\n    this.TypeOptions.labelKey = \"Type\";\r\n    this.TypeOptions.singleSelection = true;\r\n    this.TypeOptions.allowSearchFilter = true;\r\n    this.TypeOptions.placeholder = \"\";\r\n\r\n    this.CategoryFilter = new FilterItem();\r\n    this.CategoryFilter.formControlName = \"Category\";\r\n    this.CategoryFilter.actionParameterName = \"CategoryItemID\";\r\n    this.CategoryFilter.isFormControl = true;\r\n    this.CategoryFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.TypeFilter = new FilterItem();\r\n    this.TypeFilter.formControlName = \"Type\";\r\n    this.TypeFilter.actionParameterName = \"type\";\r\n    this.TypeFilter.isFormControl = true;\r\n    this.TypeFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.TemplatePaging = new PagingOptions();\r\n    this.TemplatePaging.actionPostURL = this.ApiUrl + 'GetTemplatesByFilter';\r\n    this.TemplatePaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.TemplatePaging.dropdownFiltersControlNames = [\"Category\", \"Type\"];\r\n    this.TemplatePaging.filters = [this.CategoryFilter, this.TypeFilter, this.TextInputFilter];\r\n    this.TemplatePaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.TemplatePaging.resetFilterButtonName = \"templatesFiltersBtn\";\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.TemplatePaging.filters = this.TemplatePaging.filters ?? [];\r\n      this.TemplatePaging.dropdownFiltersControlNames = this.TemplatePaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.TemplatePaging.filters.push(this.organizationsFilter);\r\n      this.TemplatePaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n    \r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  //Load filters lists\r\n  loadLists() {\r\n    if (!this.IsFilterDataLoaded) {\r\n      this.templateService.loaddropdowns().subscribe((result) => {\r\n        let DropdownLists = result as any;\r\n        this.CategoryList = DropdownLists.lookUpItemsCategory;\r\n        this.TypeList = DropdownLists.types;\r\n        \r\n        let categoriesElement = this.categoriesDDL as any as DropdownListComponent;\r\n        let typesElement = this.typesDDL as any as DropdownListComponent;\r\n        let organizationsElement = this.organizationDDL as any as DropdownListComponent;\r\n\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(DropdownLists.organizations);\r\n\r\n        categoriesElement.updateDataSource(this.CategoryList);\r\n        typesElement.updateDataSource(this.TypeList);\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n\r\n        this.IsFilterDataLoaded = true;\r\n\r\n      });\r\n    }\r\n    //this.templateService.Loaddropdowns().subscribe((result) => {\r\n    //  let DropdownLists = result as any\r\n    //  this.OrganizationList = DropdownLists.organization\r\n    //  this.CategoryList = DropdownLists.lookUpItemsCategory\r\n    //  this.TypeList = DropdownLists.types\r\n    //  this.MasterLayoutList = DropdownLists.emailHeaderAndFooterTemplate\r\n    //  this.LanguageModeList = DropdownLists.lookUpItemsEmailTemplate\r\n\r\n    //})\r\n  }\r\n\r\n  //Paging functions\r\n  setTemplateListResult(result) {\r\n    this.TemplatePagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase());\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.TemplatePagingResult;\r\n  }\r\n\r\n  //Add Template\r\n  showAddTemplateModal(AddTemplateModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.loadAddDropdowns().subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.LanguageModeList = resultObj.lookUpItemsEmailTemplate;\r\n      this.MasterLayoutList = resultObj.emailHeaderAndFooterTemplate;\r\n      this.CategoryList = resultObj.lookUpItemsCategory;\r\n      this.addEditOrganizationsList = resultObj.organizations;\r\n\r\n      this.AddTemplateForm = new FormGroup({});\r\n\r\n      this.AddTemplateFormOptions = new FormOptions();\r\n      this.AddTemplateFormOptions.formGroup = this.AddTemplateForm;\r\n      this.AddTemplateFormOptions.getModelFunction = this.getAddTemplateModel;\r\n      this.AddTemplateFormOptions.serviceSubmitFunction = this.getAddTemplateFunction;\r\n      this.AddTemplateFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddName = new MultiLingualTextBoxOptions();\r\n      this.AddName.name = \"Name\";\r\n      this.AddName.arabicLabelKey = \"NameInArabic\";\r\n      this.AddName.englishLabelKey = \"NameInEnglish\";\r\n      this.AddName.isRequired = true;\r\n      this.AddName.maxLength = 100;\r\n\r\n      this.AddSysName = new TextBoxOptions();\r\n      this.AddSysName.name = \"SysName\";\r\n      this.AddSysName.labelKey = \"SysName\";\r\n      this.AddSysName.type = InputType.Text;\r\n      this.AddSysName.value = null;\r\n      this.AddSysName.maxLength = 100;\r\n\r\n      this.AddDescription = new MultiLingualTextAreaOptions();\r\n      this.AddDescription.name = \"Description\";\r\n      this.AddDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.AddDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.AddDescription.maxLength = 250;\r\n\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.addOrganizations = new DropdownOptions();\r\n        this.addOrganizations.name = \"organizationId\";\r\n        this.addOrganizations.labelKey = \"Organization\";\r\n        this.addOrganizations.selectedItems = null;\r\n        this.addOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.addOrganizations.singleSelection = true;\r\n        this.addOrganizations.allowSearchFilter = true;\r\n      }\r\n\r\n      this.AddLanguageMode = new DropdownOptions();\r\n      this.AddLanguageMode.name = \"LanguageModeItemID_GUID\";\r\n      this.AddLanguageMode.labelKey = \"LanguageMode\";\r\n      this.AddLanguageMode.dataSource = this.LanguageModeList;\r\n      this.AddLanguageMode.singleSelection = true;\r\n      this.AddLanguageMode.allowSearchFilter = true;\r\n      this.AddLanguageMode.placeholder = \"\";\r\n      this.AddLanguageMode.isRequired = true;\r\n\r\n      this.AddMasterLayout = new DropdownOptions();\r\n      this.AddMasterLayout.name = \"EmailHeaderAndFooterTemplateID_GUID\";\r\n      this.AddMasterLayout.labelKey = \"MasterLayout\";\r\n      this.AddMasterLayout.dataSource = this.MasterLayoutList;\r\n      this.AddMasterLayout.singleSelection = true;\r\n      this.AddMasterLayout.allowSearchFilter = true;\r\n      this.AddMasterLayout.placeholder = \"\";\r\n      this.AddMasterLayout.isRequired = true;\r\n\r\n      this.AddCategory = new DropdownOptions();\r\n      this.AddCategory.name = \"CategoryItemID_GUID\";\r\n      this.AddCategory.labelKey = \"Category\";\r\n      this.AddCategory.dataSource = this.CategoryList;\r\n      this.AddCategory.singleSelection = true;\r\n      this.AddCategory.allowSearchFilter = true;\r\n      this.AddCategory.placeholder = \"\";\r\n      this.AddCategory.isRequired = true;\r\n\r\n      this.AddIsEmail = new CheckBoxOptions();\r\n      this.AddIsEmail.name = \"IsEmail\";\r\n      this.AddIsEmail.labelKey = \"Email\";\r\n\r\n      this.AddIsSms = new CheckBoxOptions();\r\n      this.AddIsSms.name = \"IsSms\";\r\n      this.AddIsSms.labelKey = \"SMS\";\r\n\r\n      this.AddEnableIntensiveLogging = new CheckBoxOptions();\r\n      this.AddEnableIntensiveLogging.name = \"EnableIntensiveLogging\";\r\n      this.AddEnableIntensiveLogging.labelKey = \"EnableIntensiveLogging\";\r\n      this.modalService.open(AddTemplateModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n  getAddTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddTemplateForm.value as any;\r\n    let addModel = new TemplateDTO();\r\n    addModel.Name.arabic = ResultModel.Name.Arabic;\r\n    addModel.Name.english = ResultModel.Name.English;\r\n    addModel.SysName = ResultModel.SysName;\r\n    addModel.Description.english = ResultModel.Description.English;\r\n    addModel.Description.arabic = ResultModel.Description.Arabic;\r\n    addModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.addOrganizations.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n        addModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n    addModel.LanguageModeItemID_GUID = ResultModel.LanguageModeItemID_GUID;\r\n    addModel.EmailHeaderAndFooterTemplateID_GUID = ResultModel.EmailHeaderAndFooterTemplateID_GUID;\r\n    addModel.IsEmail = ResultModel.IsEmail != null ? ResultModel.IsEmail : false;\r\n    addModel.IsSms = ResultModel.IsSms != null ? ResultModel.IsSms : false;\r\n    addModel.EnableIntensiveLogging = ResultModel.EnableIntensiveLogging != null ? ResultModel.EnableIntensiveLogging : false;\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddTemplateFunction = (addModel): Observable<any> => {\r\n    return this.templateService.addEmailTemplate(addModel);\r\n  };\r\n\r\n  //Edit Template\r\n  showEditTemplateModal(templateID: string, EditTemplateModal) {\r\n    this.TemplateId = templateID;\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.getEditTemplateData(templateID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let template = resultObj.model;\r\n      let lists = resultObj.lists;\r\n      this.addEditOrganizationsList = lists.organizations;\r\n      this.LanguageModeList = lists.lookUpItemsEmailTemplate;\r\n      this.MasterLayoutList = lists.emailHeaderAndFooterTemplate;\r\n      this.CategoryList = lists.lookUpItemsCategory;\r\n\r\n      this.EditTemplateForm = new FormGroup({});\r\n      this.EditTemplateFormOptions = new FormOptions();\r\n      this.EditTemplateFormOptions.formGroup = this.EditTemplateForm;\r\n      this.EditTemplateFormOptions.getModelFunction = this.getEditTemplateModel;\r\n      this.EditTemplateFormOptions.serviceSubmitFunction = this.getEditTemplateFunction;\r\n      this.EditTemplateFormOptions.pagingReference = this.pagingElement;\r\n      this.EditTemplateFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = template.name.arabic;\r\n      Name.english = template.name.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"Name\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = Name;\r\n      this.EditName.maxLength = 100;\r\n\r\n      this.EditSysName = new TextBoxOptions();\r\n      this.EditSysName.name = \"SysName\";\r\n      this.EditSysName.labelKey = \"SysName\";\r\n      this.EditSysName.type = InputType.Text;\r\n      this.EditSysName.value = template.sysName;\r\n      this.EditSysName.maxLength = 100;\r\n\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = template.description.arabic;\r\n      description.english = template.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = description;\r\n      this.EditDescription.maxLength = 250;\r\n\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.editOrganizations = new DropdownOptions();\r\n        this.editOrganizations.name = \"organizationId\";\r\n        this.editOrganizations.labelKey = \"Organization\";\r\n        this.editOrganizations.selectedItems = template.organizationID_GUID;\r\n        this.editOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.editOrganizations.singleSelection = true;\r\n        this.editOrganizations.allowSearchFilter = true;\r\n      }\r\n      this.EditLanguageMode = new DropdownOptions();\r\n      this.EditLanguageMode.name = \"LanguageModeItemID_GUID\";\r\n      this.EditLanguageMode.labelKey = \"LanguageMode\";\r\n      this.EditLanguageMode.dataSource = this.LanguageModeList;\r\n      this.EditLanguageMode.singleSelection = true;\r\n      this.EditLanguageMode.allowSearchFilter = true;\r\n      this.EditLanguageMode.placeholder = \"\";\r\n      this.EditLanguageMode.isRequired = true;\r\n      this.EditLanguageMode.selectedItems = template.languageModeItemID_GUID?.toLowerCase();\r\n\r\n      this.EditMasterLayout = new DropdownOptions();\r\n      this.EditMasterLayout.name = \"EmailHeaderAndFooterTemplateID_GUID\";\r\n      this.EditMasterLayout.labelKey = \"MasterLayout\";\r\n      this.EditMasterLayout.dataSource = this.MasterLayoutList;\r\n      this.EditMasterLayout.singleSelection = true;\r\n      this.EditMasterLayout.allowSearchFilter = true;\r\n      this.EditMasterLayout.placeholder = \"\";\r\n      this.EditMasterLayout.isRequired = true;\r\n      this.EditMasterLayout.selectedItems = template.emailHeaderAndFooterTemplateID_GUID?.toLowerCase();\r\n\r\n      this.EditCategory = new DropdownOptions();\r\n      this.EditCategory.name = \"CategoryItemID_GUID\";\r\n      this.EditCategory.labelKey = \"Category\";\r\n      this.EditCategory.dataSource = this.CategoryList;\r\n      this.EditCategory.singleSelection = true;\r\n      this.EditCategory.allowSearchFilter = true;\r\n      this.EditCategory.placeholder = \"\";\r\n      this.EditCategory.isRequired = true;\r\n      this.EditCategory.selectedItems = template.categoryItemID_GUID?.toLowerCase();\r\n\r\n      this.EditIsEmail = new CheckBoxOptions();\r\n      this.EditIsEmail.name = \"IsEmail\";\r\n      this.EditIsEmail.labelKey = \"Email\";\r\n      this.EditIsEmail.value = template.isEmail;\r\n\r\n      this.EditIsSms = new CheckBoxOptions();\r\n      this.EditIsSms.name = \"IsSms\";\r\n      this.EditIsSms.labelKey = \"SMS\";\r\n      this.EditIsSms.value = template.isSms;\r\n\r\n      this.EditEnableIntensiveLogging = new CheckBoxOptions();\r\n      this.EditEnableIntensiveLogging.name = \"EnableIntensiveLogging\";\r\n      this.EditEnableIntensiveLogging.labelKey = \"EnableIntensiveLogging\";\r\n      this.EditEnableIntensiveLogging.value = template.enableIntensiveLogging;\r\n      this.modalService.open(EditTemplateModal);\r\n      this.utilityService.stopBlockUI();\r\n\r\n    });\r\n\r\n  }\r\n  getEditTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditTemplateForm.value as any;\r\n    let editModel = new TemplateDTO();\r\n    editModel.ID_GUID = this.TemplateId;\r\n    editModel.Name.arabic = ResultModel.Name.Arabic;\r\n    editModel.Name.english = ResultModel.Name.English;\r\n    editModel.SysName = ResultModel.SysName;\r\n    editModel.Description.english = ResultModel.Description.English;\r\n    editModel.Description.arabic = ResultModel.Description.Arabic;\r\n    editModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.editOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    editModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n    editModel.LanguageModeItemID_GUID = ResultModel.LanguageModeItemID_GUID;\r\n    editModel.EmailHeaderAndFooterTemplateID_GUID = ResultModel.EmailHeaderAndFooterTemplateID_GUID;\r\n    editModel.IsEmail = ResultModel.IsEmail;\r\n    editModel.IsSms = ResultModel.IsSms;\r\n    editModel.EnableIntensiveLogging = ResultModel.EnableIntensiveLogging;\r\n\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditTemplateFunction = (editModel): Observable<any> => {\r\n    return this.templateService.editEmailTemplate(editModel);\r\n  };\r\n\r\n  //Delete Template\r\n  showDeleteEmailTemplateModal(templateID: string) {\r\n    this.deletedTemplateId = templateID;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedTemplateId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteEmailTemplate;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  deleteEmailTemplate = (id: string): Observable<any> => {\r\n    return this.templateService.deleteTemplate(id);\r\n  };\r\n\r\n  //Generate code\r\n  showGenerateCodeAllModal(GenerateCodeModal) {\r\n    this.templateService.generateCodeAll().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n  showGenerateAllUpdateCodeModal(GenerateCodeModal) {\r\n    this.templateService.generateAllUpdateCode().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n  showGeneratSysNameModal(GenerateCodeModal) {\r\n    this.templateService.generateSysNames().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n  showGenerateCodeByIdModal(templateID: string, GenerateCodeModal) {\r\n    this.templateService.generateCodeById(templateID).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n  showGenerateUpdateCodeByIdModal(templateID: string, GenerateCodeModal) {\r\n    this.templateService.generateUpdateCodeById(templateID).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  onOrganizationChanges(orgID,emailHeaderAndFooterTemplateDDL:DropdownListComponent,isAdd=false){\r\n    this.templateService.loadAddDropdowns(orgID).subscribe((result: any) => {\r\n      if(isAdd){\r\n        this.AddMasterLayout.selectedItems = null;\r\n      }\r\n      else{\r\n        this.EditMasterLayout.selectedItems = null;\r\n      }\r\n\r\n      emailHeaderAndFooterTemplateDDL.updateDataSource(result.emailHeaderAndFooterTemplate); \r\n    });\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"TemplateForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"TemplateForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <div ngbDropdown class=\"d-inline-block\" [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n          <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Filter\")}}\r\n          </button>\r\n          <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"TemplateForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div class=\"col-lg-12\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #categoriesDDL [options]=\"CategoryOptions\"\r\n                        [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"col-lg-12\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #typesDDL [options]=\"TypeOptions\" [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"col-lg-12\" *ngIf=\"adminWithMultitenanEnabled\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                        [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"templatesFiltersBtn\">\r\n                    {{utilityService.getResourceValue(\"Reset\")}}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGenerateCodeAllModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGenerateAllUpdateCodeModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n        </button>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGeneratSysNameModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateSysName\")}}\r\n        </button>\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\"\r\n          (click)=\"showAddTemplateModal(AddTemplateModal)\">\r\n          <i class=\"kt-nav__link-icon fa fa-plus\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <!-- begin::Table -->\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Category\")}}</th>\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Type\")}}</th>\r\n              <th class=\"mw-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n              <th class=\"mw-150px\" *ngIf=\"adminWithMultitenanEnabled\">\r\n                {{ utilityService.getResourceValue('Organization') }}\r\n              </th>\r\n              <th class=\"mw-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Template of clientSidePagingResult\">\r\n              <td>\r\n                <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Notifications/TemplateInfo',Template.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Template.nameStr}}</a>\r\n              </td>\r\n              <td>{{Template.descriptionStr}}</td>\r\n              <td>{{Template.categoryItemNameStr}}</td>\r\n\r\n              <td>{{Template.isEmail==true?\"Email\":\"SMS\"}}</td>\r\n              <td *ngIf=\"!ProductionMode\">{{Template.sysName}}</td>\r\n              <td *ngIf=\"adminWithMultitenanEnabled\">{{ Template.organizationName ?? '-' }}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showEditTemplateModal(Template.iD_GUID,EditTemplateModal)\">\r\n                      <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showGenerateCodeByIdModal(Template.iD_GUID,GenerateCodeModal)\">\r\n                      <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"GenerateCode\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteEmailTemplateModal(Template.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '5' : '6'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setTemplateListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"TemplatePaging\"\r\n        [group]=\"TemplateForm\" #TemplatePagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          @if (adminWithMultitenanEnabled) {\r\n          <BBSF-DropdownList #addOrganizationDDL (onChange)=\"onOrganizationChanges($event,addMasterlayoutDDL,true)\"\r\n            [options]=\"addOrganizations\" [group]=\"AddTemplateForm\"></BBSF-DropdownList>\r\n          }\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddLanguageMode\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddCategory\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList #addMasterlayoutDDL [options]=\"AddMasterLayout\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsEmail\" [group]=\"AddTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsSms\" [group]=\"AddTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddEnableIntensiveLogging\" [group]=\"AddTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseTemplateModal id=\"CloseTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      @if (adminWithMultitenanEnabled) {\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList #editOrganizationDDL (onChange)=\"onOrganizationChanges($event,editMasterLayoutDDL)\"\r\n            [options]=\"editOrganizations\" [group]=\"EditTemplateForm\"></BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      }\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditLanguageMode\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList #editMasterLayoutDDL [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsEmail\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsSms\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditEnableIntensiveLogging\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n      <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n      </BBSF-TextArea>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light btn-sm me-3 \"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class SendEmailTemplateModel {\r\n  TemplateID_GUID: string;\r\n  LangKey: string;\r\n  ToEmails: string;\r\n  EmailProviderName: string;\r\n  ErrorMessage: string;\r\n  IsSuccess: boolean;\r\n}\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class EmailTemplateTesterModel {\r\n  TemplateID_GUID: string;\r\n  LangKey: string;\r\n  ToEmail: string;\r\n  EmailProviderName: string;\r\n  KeyMap: Record<string, string>;\r\n  ErrorMessage: string;\r\n  IsSuccess: boolean;\r\n}\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class SMSTemplateTesterModel {\r\n  TemplateID_GUID: string;\r\n  LangKey: string;\r\n  ToMobileNumber: string;\r\n  SMSProviderName: string;\r\n  KeyMap: any;\r\n  ErrorMessage: string;\r\n  IsSuccess: boolean;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CheckBoxOptions, ControlLayout, Country, DropdownOptions, EnglishArabicDTO, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PhoneOptions, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { TemplateService } from '../../shared/Services/TemplateService.service';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { SendEmailTemplateModel } from './../../shared/models/NotificationsModels/SendEmailTemplateModel';\r\nimport { EmailTemplateTesterModel } from '../../shared/models/NotificationsModels/EmailTemplateTesterModel';\r\nimport { SMSTemplateTesterModel } from '../../shared/models/NotificationsModels/SMSTemplateTesterModel';\r\nimport { TemplateDTO } from '../../shared/models/NotificationsModels/TemplateDTO';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-template-info',\r\n    templateUrl: './template-info.component.html',\r\n    standalone: false\r\n})\r\nexport class TemplateInfoComponent implements OnInit {\r\n  //Page requirements\r\n  ProductionMode: boolean;\r\n  TemplateId: string;\r\n  TemplateIdEnc: string = \"\";\r\n  TemplateInfo: any;\r\n  Template: any;\r\n  isDataLoaded: boolean = false;\r\n  //Required lists\r\n  LanguageList = [];\r\n  EmailServiceProviderList = [];\r\n  SMSServiceProviderList = [];\r\n  CategoryList = [];\r\n  OrganizationList = [];\r\n  LanguageModeList = [];\r\n  MasterLayoutList = [];\r\n\r\n  //GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  IsOpenGenerateCodeModal: boolean;\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = \"\";\r\n\r\n  //Send Email Model Controls\r\n  SendEmailForm = new FormGroup({});\r\n  SendEmailFormOptions = new FormOptions;\r\n  To: TextAreaOptions;\r\n  EmailServiceProvider: DropdownOptions;\r\n  Language: DropdownOptions;\r\n\r\n  //Test Send Email Model Controls\r\n  TestSendEmailForm = new FormGroup({});\r\n  TestSendEmailFormOptions = new FormOptions;\r\n  TestSendEmailTo: TextAreaOptions;\r\n  TestEmailServiceProvider: DropdownOptions;\r\n\r\n\r\n  //Test Send SMS Model Controls\r\n  TestSendSMSForm = new FormGroup({});\r\n  TestSendSMSFormOptions = new FormOptions;\r\n  TestSendSMSTo: PhoneOptions;\r\n  TestSMSServiceProvider: DropdownOptions;\r\n\r\n  //Edit Model Controls\r\n  EditTemplateForm = new FormGroup({});\r\n  EditTemplateFormOptions = new FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditSysName: TextBoxOptions;\r\n  EditSysNameValue: string;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditOrganization: DropdownOptions;\r\n  EditLanguageMode: DropdownOptions;\r\n  EditCategory: DropdownOptions;\r\n  EditMasterLayout: DropdownOptions;\r\n  EditIsEmail: CheckBoxOptions;\r\n  EditIsSms: CheckBoxOptions;\r\n  EditEnableIntensiveLogging: CheckBoxOptions;\r\n\r\n  constructor(\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService, private _clipboardService: ClipboardService,\r\n    private templateService: TemplateService, private activatedRoute: ActivatedRoute,\r\n    private pageInfoService: PageInfoService, private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.TemplateId = params['id'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.utilityService.startBlockUI();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.utilityService.stopBlockUI();\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize page info\r\n  initializePage() {\r\n    this.isDataLoaded = false;\r\n    this.templateService.getTemplateInfo(this.TemplateId).subscribe((result) => {\r\n      let Result: any = result;\r\n      this.TemplateInfo = Result.val;\r\n      console.log(this.TemplateInfo);\r\n      PageInfoService.PageTitle = this.TemplateInfo.templateName;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Templates\"), path: '/Admin/Notifications/Templates', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n      ];\r\n      this.isDataLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n    });\r\n  }\r\n\r\n\r\n  //Generate Code\r\n  showGenerateCodeByIdModal(GenerateCodeModal) {\r\n    this.templateService.generateCodeById(this.TemplateId).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n\r\n  showGenerateUpdateCodeByIdModal(GenerateCodeModal) {\r\n    this.GenerateCodeForm = new FormGroup({});\r\n    this.templateService.generateUpdateCodeById(this.TemplateId).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n  //Edit Template\r\n  showEditTemplateModal(EditTemplateModal) {\r\n    this.templateService.getEditTemplateData(this.TemplateId).subscribe((result) => {\r\n      let resultObj = result as any;\r\n\r\n      let lists = resultObj.lists;\r\n      this.OrganizationList = lists.organization;\r\n      this.LanguageModeList = lists.lookUpItemsEmailTemplate;\r\n      this.MasterLayoutList = lists.emailHeaderAndFooterTemplate;\r\n      this.CategoryList = lists.lookUpItemsCategory;\r\n\r\n      this.Template = resultObj.model;\r\n\r\n      this.EditTemplateForm = new FormGroup({});\r\n      this.EditTemplateFormOptions = new FormOptions();\r\n      this.EditTemplateFormOptions.formGroup = this.EditTemplateForm;\r\n      this.EditTemplateFormOptions.getModelFunction = this.getEditTemplateModel;\r\n      this.EditTemplateFormOptions.serviceSubmitFunction = this.getEditTemplateFunction;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = this.Template.name.arabic;\r\n      Name.english = this.Template.name.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"Name\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = Name;\r\n\r\n      this.EditSysName = new TextBoxOptions();\r\n      this.EditSysName.name = \"SysName\";\r\n      this.EditSysName.labelKey = \"SysName\";\r\n      this.EditSysName.type = InputType.Text;\r\n      this.EditSysName.value = this.Template.sysName;\r\n      this.EditSysNameValue = this.Template.sysName;\r\n\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = this.Template.description.arabic;\r\n      description.english = this.Template.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = description;\r\n\r\n      this.EditOrganization = new DropdownOptions();\r\n      this.EditOrganization.name = \"OrganizationID_GUID\";\r\n      this.EditOrganization.labelKey = \"Organization\";\r\n      this.EditOrganization.viewType = ControlLayout.Vertical;\r\n      this.EditOrganization.dataSource = this.OrganizationList;\r\n      this.EditOrganization.singleSelection = true;\r\n      this.EditOrganization.allowSearchFilter = true;\r\n      this.EditOrganization.placeholder = \"\";\r\n      this.EditOrganization.isRequired = true;\r\n      this.EditOrganization.selectedItems = this.Template.organizationID_GUID?.toLowerCase();\r\n\r\n\r\n      this.EditLanguageMode = new DropdownOptions();\r\n      this.EditLanguageMode.name = \"LanguageModeItemID_GUID\";\r\n      this.EditLanguageMode.labelKey = \"LanguageMode\";\r\n      this.EditLanguageMode.dataSource = this.LanguageModeList;\r\n      this.EditLanguageMode.singleSelection = true;\r\n      this.EditLanguageMode.allowSearchFilter = true;\r\n      this.EditLanguageMode.placeholder = \"\";\r\n      this.EditLanguageMode.isRequired = true;\r\n      this.EditLanguageMode.selectedItems = this.Template.languageModeItemID_GUID?.toLowerCase();\r\n\r\n\r\n      this.EditMasterLayout = new DropdownOptions();\r\n      this.EditMasterLayout.name = \"EmailHeaderAndFooterTemplateID_GUID\";\r\n      this.EditMasterLayout.labelKey = \"MasterLayout\";\r\n      this.EditMasterLayout.dataSource = this.MasterLayoutList;\r\n      this.EditMasterLayout.singleSelection = true;\r\n      this.EditMasterLayout.allowSearchFilter = true;\r\n      this.EditMasterLayout.placeholder = \"\";\r\n      this.EditMasterLayout.isRequired = true;\r\n      this.EditMasterLayout.selectedItems = this.Template.emailHeaderAndFooterTemplateID_GUID?.toLowerCase();\r\n\r\n\r\n      this.EditCategory = new DropdownOptions();\r\n      this.EditCategory.name = \"CategoryItemID_GUID\";\r\n      this.EditCategory.labelKey = \"Category\";\r\n      this.EditCategory.dataSource = this.CategoryList;\r\n      this.EditCategory.singleSelection = true;\r\n      this.EditCategory.allowSearchFilter = true;\r\n      this.EditCategory.placeholder = \"\";\r\n      this.EditCategory.isRequired = true;\r\n      this.EditCategory.selectedItems = this.Template.categoryItemID_GUID?.toLowerCase();\r\n\r\n\r\n      this.EditIsEmail = new CheckBoxOptions();\r\n      this.EditIsEmail.name = \"IsEmail\";\r\n      this.EditIsEmail.labelKey = \"IsEmail\";\r\n      this.EditIsEmail.value = this.Template.isEmail;\r\n\r\n\r\n      this.EditIsSms = new CheckBoxOptions();\r\n      this.EditIsSms.name = \"IsSms\";\r\n      this.EditIsSms.labelKey = \"IsSms\";\r\n      this.EditIsSms.value = this.Template.isSms;\r\n\r\n\r\n      this.EditEnableIntensiveLogging = new CheckBoxOptions();\r\n      this.EditEnableIntensiveLogging.name = \"EnableIntensiveLogging\";\r\n      this.EditEnableIntensiveLogging.labelKey = \"EnableIntensiveLogging\";\r\n      this.EditEnableIntensiveLogging.value = this.Template.enableIntensiveLogging;\r\n\r\n\r\n      this.modalService.open(EditTemplateModal);\r\n\r\n    });\r\n  }\r\n  getEditTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditTemplateForm.value as any;\r\n    let EditModel = new TemplateDTO();\r\n    EditModel.ID_GUID = this.TemplateId;\r\n    EditModel.Name.arabic = ResultModel.Name.Arabic;\r\n    EditModel.Name.english = ResultModel.Name.English;\r\n    EditModel.SysName = ResultModel.SysName ? ResultModel.SysName : this.EditSysNameValue;\r\n    EditModel.Description.english = ResultModel.Description.English;\r\n    EditModel.Description.arabic = ResultModel.Description.Arabic;\r\n    EditModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;\r\n    EditModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n    EditModel.LanguageModeItemID_GUID = ResultModel.LanguageModeItemID_GUID;\r\n    EditModel.EmailHeaderAndFooterTemplateID_GUID = ResultModel.EmailHeaderAndFooterTemplateID_GUID;\r\n    EditModel.IsEmail = ResultModel.IsEmail;\r\n    EditModel.IsSms = ResultModel.IsSms;\r\n    EditModel.EnableIntensiveLogging = ResultModel.EnableIntensiveLogging;\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditTemplateFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editEmailTemplate(EditModel);\r\n  };\r\n\r\n  //Send Email\r\n  showSendEmailModal(SendEmailModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.getSendEmailTemplate().subscribe((result) => {\r\n      let Result: any = result;\r\n      this.EmailServiceProviderList = Result.val.emailProviders;\r\n      this.LanguageList = Result.val.languageKeys;\r\n\r\n      this.SendEmailForm = new FormGroup({});\r\n      this.SendEmailFormOptions = new FormOptions();\r\n      this.SendEmailFormOptions.formGroup = this.SendEmailForm;\r\n      this.SendEmailFormOptions.getModelFunction = this.getSendEmailModel;\r\n      this.SendEmailFormOptions.serviceSubmitFunction = this.getSendEmailFunction;\r\n\r\n      this.To = new TextAreaOptions();\r\n      this.To.name = \"ToEmails\";\r\n      this.To.labelKey = \"To\";\r\n      this.To.value = null;\r\n      this.To.isRequired = true;\r\n\r\n\r\n      this.EmailServiceProvider = new DropdownOptions();\r\n      this.EmailServiceProvider.name = \"EmailProviderName\";\r\n      this.EmailServiceProvider.labelKey = \"EmailServiceProvider\";\r\n      this.EmailServiceProvider.dataSource = this.EmailServiceProviderList;\r\n      this.EmailServiceProvider.singleSelection = true;\r\n      this.EmailServiceProvider.allowSearchFilter = true;\r\n      this.EmailServiceProvider.placeholder = \"\";\r\n      this.EmailServiceProvider.isRequired = true;\r\n\r\n      this.Language = new DropdownOptions();\r\n      this.Language.name = \"LangKey\";\r\n      this.Language.labelKey = \"Language\";\r\n      this.Language.dataSource = this.LanguageList;\r\n      this.Language.singleSelection = true;\r\n      this.Language.allowSearchFilter = true;\r\n      this.Language.placeholder = \"\";\r\n      this.Language.isRequired = true;\r\n      this.modalService.open(SendEmailModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n  getSendEmailModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.SendEmailForm.value as any;\r\n    let sendEmailTemplateModel = new SendEmailTemplateModel();\r\n    sendEmailTemplateModel.TemplateID_GUID = this.TemplateId;\r\n    sendEmailTemplateModel.ToEmails = ResultModel.ToEmails;\r\n    sendEmailTemplateModel.LangKey = ResultModel.LangKey;\r\n    sendEmailTemplateModel.EmailProviderName = ResultModel.EmailProviderName;\r\n\r\n    paramArray.push(sendEmailTemplateModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getSendEmailFunction = (sendEmailTemplateModel): Observable<any> => {\r\n    return this.templateService.sendEmailTemplate(sendEmailTemplateModel);\r\n  };\r\n\r\n  //Test Send Email\r\n  showTestSendEmailModal(TestSendEmailModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.getSendEmailTemplate().subscribe((result) => {\r\n      let Result: any = result;\r\n      this.EmailServiceProviderList = Result.val.emailProviders;\r\n\r\n      this.TestSendEmailForm = new FormGroup({});\r\n      this.TestSendEmailFormOptions = new FormOptions();\r\n      this.TestSendEmailFormOptions.formGroup = this.TestSendEmailForm;\r\n      this.TestSendEmailFormOptions.getModelFunction = this.getTestSendEmailModel;\r\n      this.TestSendEmailFormOptions.serviceSubmitFunction = this.getTestSendEmailFunction;\r\n\r\n      this.TestSendEmailTo = new TextAreaOptions();\r\n      this.TestSendEmailTo.name = \"ToEmail\";\r\n      this.TestSendEmailTo.labelKey = \"SendTo\";\r\n      this.TestSendEmailTo.value = null;\r\n      this.TestSendEmailTo.isRequired = true;\r\n\r\n      this.TestEmailServiceProvider = new DropdownOptions();\r\n      this.TestEmailServiceProvider.name = \"EmailProviderName\";\r\n      this.TestEmailServiceProvider.labelKey = \"EmailServiceProvider\";\r\n      this.TestEmailServiceProvider.dataSource = this.EmailServiceProviderList;\r\n      this.TestEmailServiceProvider.singleSelection = true;\r\n      this.TestEmailServiceProvider.allowSearchFilter = true;\r\n      this.TestEmailServiceProvider.placeholder = \"\";\r\n      this.TestEmailServiceProvider.isRequired = true;\r\n      this.modalService.open(TestSendEmailModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n  getTestSendEmailModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.TestSendEmailForm.value as any;\r\n    let sendEmailTemplateModel = new EmailTemplateTesterModel();\r\n    sendEmailTemplateModel.TemplateID_GUID = this.TemplateId;\r\n    sendEmailTemplateModel.ToEmail = ResultModel.ToEmail;\r\n    sendEmailTemplateModel.EmailProviderName = ResultModel.EmailProviderName;\r\n\r\n    paramArray.push(sendEmailTemplateModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getTestSendEmailFunction = (sendEmailTemplateModel): Observable<any> => {\r\n    return this.templateService.testSendEmailTemplate(sendEmailTemplateModel);\r\n  };\r\n\r\n  //Test Send SMS\r\n  showTestSendSMSModal(TestSendSMSModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.templateService.getTestSMSTemplate().subscribe((result) => {\r\n      let Result: any = result;\r\n      this.SMSServiceProviderList = Result.val;\r\n\r\n      this.TestSendSMSForm = new FormGroup({});\r\n      this.TestSendSMSFormOptions = new FormOptions();\r\n      this.TestSendSMSFormOptions.formGroup = this.TestSendSMSForm;\r\n      this.TestSendSMSFormOptions.getModelFunction = this.getTestSendSMSModel;\r\n      this.TestSendSMSFormOptions.serviceSubmitFunction = this.getTestSendSMSFunction;\r\n\r\n      this.TestSendSMSTo = new PhoneOptions();\r\n      this.TestSendSMSTo.name = \"ToMobileNumber\";\r\n      this.TestSendSMSTo.labelKey = \"SendTo\";\r\n      this.TestSendSMSTo.value = null;\r\n      this.TestSendSMSTo.isRequired = true;\r\n      this.TestSendSMSTo.showAsterisk = true;\r\n      this.TestSendSMSTo.selectedCountryISO = Country.UnitedArabEmirates;\r\n      this.TestSendSMSTo.phoneValidation = true;\r\n      this.TestSendSMSTo.allowSearch = true;\r\n\r\n      this.TestSMSServiceProvider = new DropdownOptions();\r\n      this.TestSMSServiceProvider.name = \"SMSProviderName\";\r\n      this.TestSMSServiceProvider.labelKey = \"SMSServiceProvider\";\r\n      this.TestSMSServiceProvider.dataSource = this.SMSServiceProviderList;\r\n      this.TestSMSServiceProvider.singleSelection = true;\r\n      this.TestSMSServiceProvider.allowSearchFilter = true;\r\n      this.TestSMSServiceProvider.placeholder = \"\";\r\n      this.TestSMSServiceProvider.isRequired = true;\r\n      this.modalService.open(TestSendSMSModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n\r\n  getTestSendSMSModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.TestSendSMSForm.value as any;\r\n    let sendSMSTemplateModel = new SMSTemplateTesterModel();\r\n    sendSMSTemplateModel.TemplateID_GUID = this.TemplateId;\r\n    let internationalNumber: string = null;\r\n    if (ResultModel.ToMobileNumber != null) {\r\n      internationalNumber = ResultModel.ToMobileNumber.internationalNumber as string;\r\n      internationalNumber = internationalNumber.replace(/\\s/g, \"\");\r\n    }\r\n    sendSMSTemplateModel.ToMobileNumber = internationalNumber;\r\n    sendSMSTemplateModel.SMSProviderName = ResultModel.SMSProviderName;\r\n\r\n    paramArray.push(sendSMSTemplateModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getTestSendSMSFunction = (sendSMSTemplateModel): Observable<any> => {\r\n    return this.templateService.testSMSTemplate(sendSMSTemplateModel);\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n\r\n  <div class=\"container-fluid\" *ngIf=\"isDataLoaded\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\">\r\n\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-light-primary\"\r\n                  (click)=\"showEditTemplateModal(EditTemplateModal)\">\r\n            <i class=\"fa fa fa-edit\" aria-hidden=\"true\"></i>\r\n            <span>{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n          </button>\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-light-primary\"\r\n                  (click)=\"showSendEmailModal(SendEmailModal)\">\r\n            <i class=\"fa fa-paper-plane\"></i>{{utilityService.getResourceValue(\"SendEmail\")}}\r\n          </button>\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-light-primary\"\r\n                  (click)=\"showTestSendEmailModal(TestSendEmailModal)\">\r\n            <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"TestSendEmail\")}}\r\n          </button>\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-light-primary\"\r\n                  (click)=\"showTestSendSMSModal(TestSendSMSModal)\">\r\n            <i class=\"fa fa-envelope-open-text sms\"></i>{{utilityService.getResourceValue(\"TestSendSMS\")}}\r\n          </button>\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-primary\" *ngIf=\"!ProductionMode\"\r\n                  (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n            <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n          </button>\r\n          <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3 btn-primary\" *ngIf=\"!ProductionMode\"\r\n                  (click)=\"showGenerateUpdateCodeByIdModal(GenerateCodeModal)\">\r\n            <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n          </button>\r\n\r\n        </div>\r\n      </div>\r\n      <div class=\"card-body py-3\">\r\n        <div class=\"row\">\r\n          <div class=\"col-xl-6 mb-10\">\r\n            <div class=\"d-flex h-100 align-items-center \">\r\n              <!--begin::Option-->\r\n              <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light py-10 px-10 h-100\">\r\n                <!--begin::Heading-->\r\n                <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n                  <!--begin::Title-->\r\n                  <a [routerLink]=\"['/Admin/Notifications/EditEmail',TemplateInfo.iD_GUID,'en']\"\r\n                     routerLinkActive=\"router-link-active\" class=\"text-primary mb-5 fw-boldest fs-2\">\r\n                    English:\r\n                    {{TemplateInfo.emailTemplateInfo.emailSubject.english}}\r\n                  </a>\r\n\r\n                  <a [routerLink]=\"['/Admin/Notifications/EditEmail',TemplateInfo.iD_GUID,'en']\"\r\n                     routerLinkActive=\"router-link-active\" class=\"btn btn-sm btn-light-primary btn-icon\">\r\n                    <i class=\"fa fa-pen\"></i>\r\n                  </a>\r\n\r\n                </div>\r\n                <div class=\"w-100 mb-10\">\r\n                  <!--begin::Item-->\r\n                  <div class=\"d-flex align-items-center mb-5\">\r\n                    <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.templateEmailBaseHeader.english}}\">\r\n                      </div>\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.emailHtmlHeadSection.english}}\">\r\n                      </div>\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.emailBody.english}}\">\r\n                      </div>\r\n                      <div class=\"table-dark-skin pt-7\" innerHTML=\"{{TemplateInfo.emailTemplateInfo.templateEmailBaseFooter.english}}\">\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n                <!--end::Select-->\r\n              </div>\r\n              <!--end::Option-->\r\n            </div>\r\n          </div>\r\n          <div class=\"col-xl-6 mb-10\">\r\n            <div class=\"d-flex h-100 align-items-center\">\r\n              <!--begin::Option-->\r\n              <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light py-10 px-10 h-100\">\r\n                <!--begin::Heading-->\r\n                <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n                  <!--begin::Title-->\r\n                  <a [routerLink]=\"['/Admin/Notifications/EditEmail',TemplateInfo.iD_GUID,'ar']\"\r\n                     routerLinkActive=\"router-link-active\" class=\"text-primary mb-5 fw-boldest fs-2\">\r\n                    Arabic:\r\n                    {{TemplateInfo.emailTemplateInfo.emailSubject.arabic}}\r\n                  </a>\r\n                  <a [routerLink]=\"['/Admin/Notifications/EditEmail',TemplateInfo.iD_GUID,'ar']\"\r\n                     routerLinkActive=\"router-link-active\" class=\"btn btn-sm btn-light-primary btn-icon\">\r\n                    <i class=\"fa fa-pen\"></i>\r\n                  </a>\r\n                </div>\r\n                <div class=\"w-100 mb-10\">\r\n                  <!--begin::Item-->\r\n                  <div class=\"d-flex align-items-center mb-5\">\r\n                    <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3 ar\">\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.templateEmailBaseHeader.arabic}}\">\r\n                      </div>\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.emailHtmlHeadSection.arabic}}\">\r\n                      </div>\r\n                      <div innerHTML=\"{{TemplateInfo.emailTemplateInfo.emailBody.arabic}}\">\r\n                      </div>\r\n                      <div class=\"table-dark-skin pt-7\" innerHTML=\"{{TemplateInfo.emailTemplateInfo.templateEmailBaseFooter.arabic}}\">\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n\r\n                <!--end::Select-->\r\n              </div>\r\n              <!--end::Option-->\r\n            </div>\r\n          </div>\r\n          <div class=\"col-xl-6\">\r\n            <div class=\"card bg-light\">\r\n              <div class=\"card-header border-0 py-10\">\r\n                <div class=\"card-title text-primary mb-5 fw-boldest fs-2\">\r\n                  English:SMS\r\n                </div>\r\n                <div class=\"card-toolbar\">\r\n                  <a class=\"btn btn-sm btn-light-primary btn-icon\" [routerLink]=\"['/Admin/Notifications/EditSMS',TemplateInfo.iD_GUID,'en']\"\r\n                     routerLinkActive=\"router-link-active\">\r\n                    <span class=\"\">\r\n                      <i class=\"fa fa-pen font-size-18\"></i>\r\n                    </span>\r\n                  </a>\r\n\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body d-flex align-items-center justify-content-center\">\r\n                <div class=\"iphone\">\r\n                  <span class=\"position-absolute mobile-txt\">{{TemplateInfo.smsTemplateInfo.sms.english}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"col-xl-6\">\r\n            <div class=\"card bg-light\">\r\n              <div class=\"card-header border-0 py-10\">\r\n                <div class=\"card-title text-primary mb-5 fw-boldest fs-2\">\r\n                  Arabic:SMS\r\n                </div>\r\n                <div class=\"card-toolbar\">\r\n                  <a class=\"btn btn-sm btn-light-primary btn-icon\" [routerLink]=\"['/Admin/Notifications/EditSMS',TemplateInfo.iD_GUID,'ar']\"\r\n                     routerLinkActive=\"router-link-active\">\r\n                    <span class=\"\">\r\n                      <i class=\"fa fa-pen font-size-18\"></i>\r\n                    </span>\r\n                  </a>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body d-flex align-items-center justify-content-center\">\r\n                <div class=\"iphone\">\r\n                  <span class=\"position-absolute mobile-txt ar\">  {{TemplateInfo.smsTemplateInfo.sms.arabic}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n\r\n\r\n\r\n<!-- send Email Modal -->\r\n<ng-template #SendEmailModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"SendEmailTemplate\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"SendEmailFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"To\" [group]=\"SendEmailForm\">\r\n          </BBSF-TextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"Language\" [group]=\"SendEmailForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EmailServiceProvider\" [group]=\"SendEmailForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseSendEmailForm id=\"CloseSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Send\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Test sms Email Modal -->\r\n<ng-template #TestSendSMSModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"TestSendSMS\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"TestSendSMSFormOptions\">\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Phone [options]=\"TestSendSMSTo\" [group]=\"TestSendSMSForm\">\r\n          </BBSF-Phone>\r\n        </div>\r\n\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"TestSMSServiceProvider\" [group]=\"TestSendSMSForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div>\r\n        <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n          <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n            <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n          </span>\r\n          <div class=\"d-flex flex-stack flex-grow-1\">\r\n            <div class=\"fw-bold\">\r\n              <div class=\"fs-6 text-gray-700\">\r\n                Kindly note that these attributes are reserved\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <ul class=\"list-unstyled\">\r\n          <li class=\"mb-2\">NameEN</li>\r\n          <li class=\"mb-2\">NameAR</li>\r\n          <li class=\"mb-2\">Subject</li>\r\n          <li class=\"mb-2\">LangKey</li>\r\n          <li class=\"mb-2\">Mobile</li>\r\n          <li class=\"mb-2\">Email</li>\r\n          <li class=\"mb-2\">Date</li>\r\n          <li class=\"mb-2\">Time</li>\r\n          <li class=\"mb-2\">DateTime</li>\r\n        </ul>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseTestSendSMSForm id=\"CloseTestSendSMSForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Send\")}}</button>\r\n      </div>\r\n      </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Test Send Email Modal -->\r\n<ng-template #TestSendEmailModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"TestSendEmail\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"TestSendEmailFormOptions\">\r\n\r\n      <div class=\"row\">\r\n\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"TestSendEmailTo\" [group]=\"TestSendEmailForm\">\r\n          </BBSF-TextArea>\r\n        </div>\r\n\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"TestEmailServiceProvider\" [group]=\"TestSendEmailForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div>\r\n        <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n          <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n            <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n          </span>\r\n          <div class=\"d-flex flex-stack flex-grow-1\">\r\n            <div class=\"fw-bold\">\r\n              <div class=\"fs-6 text-gray-700\">\r\n                {{utilityService.getResourceValue(\"KeyMapNote\")}}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <ul class=\"list-unstyled\">\r\n          <li class=\"mb-2\">NameEN</li>\r\n          <li class=\"mb-2\">NameAR</li>\r\n          <li class=\"mb-2\">Subject</li>\r\n          <li class=\"mb-2\">LangKey</li>\r\n          <li class=\"mb-2\">Mobile</li>\r\n          <li class=\"mb-2\">Email</li>\r\n          <li class=\"mb-2\">Date</li>\r\n          <li class=\"mb-2\">Time</li>\r\n          <li class=\"mb-2\">DateTime</li>\r\n        </ul>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseTestSendEmailForm id=\"CloseTestSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Send\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"EditTemplate\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditLanguageMode\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsEmail\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsSms\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditEnableIntensiveLogging\" [group]=\"EditTemplateForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n      </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n      <div class=\"Row\">\r\n        <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n        </BBSF-TextArea>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class EmailTemplateInfoDTO {\r\n  ID_GUID: string;\r\n  EmailSubject: EnglishArabicDTO = new EnglishArabicDTO();\r\n  EmailBody: EnglishArabicDTO = new EnglishArabicDTO();\r\n  TemplateEmailBaseHeader: EnglishArabicDTO = new EnglishArabicDTO();\r\n  TemplateEmailBaseFooter: EnglishArabicDTO = new EnglishArabicDTO();\r\n  EmailHtmlBodyTagAttributes: EnglishArabicDTO = new EnglishArabicDTO();\r\n  EmailHtmlHeadSection: EnglishArabicDTO = new EnglishArabicDTO();\r\n  IsMoveCssInline: boolean;\r\n  LanguageModeItemID_GUID: string;\r\n  LanguageModeItemName: string;\r\n  TemplateEmailBaseID_GUID: string;\r\n  TemplateEmailBaseName: string;\r\n}\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class SMSTemplateInfoDTO {\r\n  ID_GUID: string;\r\n  SMS: EnglishArabicDTO = new EnglishArabicDTO();\r\n  SmsEN: string;\r\n  SmsAR: string;\r\n  LanguageModeItemID_GUID: string;\r\n  LanguageModeItemName: string;\r\n}\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { EmailTemplateInfoDTO } from \"./EmailTemplateInfoDTO\";\r\nimport { SMSTemplateInfoDTO } from \"./SMSTemplateInfoDTO\";\r\nexport class TemplateEditViewModel {\r\n  ID_GUID: string;\r\n  TemplateName: string;\r\n  IsEmail: boolean;\r\n  IsSms: boolean;\r\n  Language: string;\r\n  SMSTemplateInfo: SMSTemplateInfoDTO = new SMSTemplateInfoDTO();\r\n  EmailTemplateInfo: EmailTemplateInfoDTO = new EmailTemplateInfoDTO();\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ForceDirection, FormOptions, HtmlEditorOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { TemplateService } from '../../shared/Services/TemplateService.service';\r\nimport { TemplateEditViewModel } from './../../shared/models/NotificationsModels/TemplateEditViewModel';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-edit-email',\r\n    templateUrl: './edit-email.component.html',\r\n    standalone: false\r\n})\r\nexport class EditEmailComponent implements OnInit {\r\n  //Page Requirements\r\n  TemplateId: string;\r\n  Lang: string = \"\";\r\n  TemplateInfo: any;\r\n  IsFormLoaded: boolean;\r\n\r\n  //Initialize form and controls\r\n  EditEmailForm = new FormGroup({});\r\n  EditEmailFormOptions = new FormOptions;\r\n  EmailSubjectInEnglish: TextBoxOptions;\r\n  EmailSubjectInArabic: TextBoxOptions;\r\n  EmailBodyInEnglish: HtmlEditorOptions;\r\n  EmailBodyInArabic: HtmlEditorOptions;\r\n  HtmlBodyTagAttributesEnglish: TextBoxOptions;\r\n  HtmlBodyTagAttributesArabic: TextBoxOptions;\r\n  HTMLHeadSectionInEnglish: TextBoxOptions;\r\n  HTMLHeadSectionInArabic: TextBoxOptions;\r\n\r\n\r\n  constructor(private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private templateService: TemplateService,\r\n    private activatedRoute: ActivatedRoute, private router: Router, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.TemplateId = params['id'];\r\n      this.Lang = params['lang'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  initializePage() {\r\n    this.templateService.getTemplateInfoByLang(this.TemplateId, this.Lang).subscribe((result) => {\r\n      let Result: any = result;\r\n      this.TemplateInfo = Result.val;\r\n      let TemplateName: string = this.TemplateInfo.emailTemplateInfo.emailSubjectStr;\r\n      if (TemplateName == null || TemplateName == undefined)\r\n        TemplateName = \"\";\r\n\r\n      PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Edit\");\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Templates\"), path: '/Admin/Notifications/Templates', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: TemplateName != \"\" ? this.utilityService.getResourceValue(TemplateName) : \"\", path: \"/Admin/Notifications/TemplateInfo/\" + this.TemplateInfo.iD_GUID, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n      //Initialize form and controls\r\n      this.EditEmailForm = new FormGroup({});\r\n      this.EditEmailFormOptions = new FormOptions();\r\n      this.EditEmailFormOptions.formGroup = this.EditEmailForm;\r\n      this.EditEmailFormOptions.getModelFunction = this.getEditEmailModel;\r\n      this.EditEmailFormOptions.serviceSubmitFunction = this.getEditEmailFunction;\r\n      this.EditEmailFormOptions.onSuccessHandler = this.onEditEmailSuccess;\r\n\r\n      this.EmailBodyInEnglish = new HtmlEditorOptions();\r\n      this.EmailBodyInEnglish.name = \"EmailTemplateInfo.EmailBody.English\";\r\n      this.EmailBodyInEnglish.labelKey = \"EmailBodyInEnglish\";\r\n      this.EmailBodyInEnglish.isRequired = true;\r\n      this.EmailBodyInEnglish.value = this.TemplateInfo.emailTemplateInfo.emailBody.english;\r\n\r\n      this.EmailBodyInArabic = new HtmlEditorOptions();\r\n      this.EmailBodyInArabic.name = \"EmailTemplateInfo.EmailBody.Arabic\";\r\n      this.EmailBodyInArabic.labelKey = \"EmailBodyInArabic\";\r\n      this.EmailBodyInArabic.isRequired = true;\r\n      this.EmailBodyInArabic.forceDirection = ForceDirection.Arabic;\r\n      this.EmailBodyInArabic.value = this.TemplateInfo.emailTemplateInfo.emailBody.arabic;\r\n\r\n      this.EmailSubjectInEnglish = new TextBoxOptions();\r\n      this.EmailSubjectInEnglish.name = \"EmailTemplateInfo.EmailSubject.English\";\r\n      this.EmailSubjectInEnglish.labelValue = \"EmailSubjectInEnglish\";\r\n      this.EmailSubjectInEnglish.labelKey = \"EmailSubjectInEnglish\";\r\n      this.EmailSubjectInEnglish.type = InputType.Text;\r\n      this.EmailSubjectInEnglish.value = this.TemplateInfo.emailTemplateInfo.emailSubject.english;\r\n      this.EmailSubjectInEnglish.maxLength = 70;\r\n\r\n      this.EmailSubjectInArabic = new TextBoxOptions();\r\n      this.EmailSubjectInArabic.name = \"EmailTemplateInfo.EmailSubject.Arabic\";\r\n      this.EmailSubjectInArabic.labelKey = \"EmailSubjectInArabic\";\r\n      this.EmailSubjectInArabic.type = InputType.Text;\r\n      this.EmailSubjectInArabic.forceDirection = ForceDirection.Arabic;\r\n      this.EmailSubjectInArabic.value = this.TemplateInfo.emailTemplateInfo.emailSubject.arabic;\r\n      this.EmailSubjectInArabic.maxLength = 70;\r\n\r\n      this.HtmlBodyTagAttributesEnglish = new TextBoxOptions();\r\n      this.HtmlBodyTagAttributesEnglish.name = \"EmailTemplateInfo.EmailHtmlBodyTagAttributes.English\";\r\n      this.HtmlBodyTagAttributesEnglish.labelKey = \"HtmlBodyTagAttributesEnglish\";\r\n      this.HtmlBodyTagAttributesEnglish.type = InputType.Text;\r\n      this.HtmlBodyTagAttributesEnglish.value = this.TemplateInfo.emailTemplateInfo.emailHtmlBodyTagAttributes.english;\r\n\r\n      this.HtmlBodyTagAttributesArabic = new TextBoxOptions();\r\n      this.HtmlBodyTagAttributesArabic.name = \"EmailTemplateInfo.EmailHtmlBodyTagAttributes.Arabic\";\r\n      this.HtmlBodyTagAttributesArabic.labelKey = \"HtmlBodyTagAttributesArabic\";\r\n      this.HtmlBodyTagAttributesArabic.type = InputType.Text;\r\n      this.HtmlBodyTagAttributesArabic.forceDirection = ForceDirection.Arabic;\r\n      this.HtmlBodyTagAttributesArabic.value = this.TemplateInfo.emailTemplateInfo.emailHtmlBodyTagAttributes.arabic;\r\n\r\n      this.HTMLHeadSectionInEnglish = new TextBoxOptions();\r\n      this.HTMLHeadSectionInEnglish.name = \"HTMLHeadSectionInEnglish\";\r\n      this.HTMLHeadSectionInEnglish.labelKey = \"HTMLHeadSectionInEnglish\";\r\n      this.HTMLHeadSectionInEnglish.type = InputType.Text;\r\n      this.HTMLHeadSectionInEnglish.value = this.TemplateInfo.emailTemplateInfo.emailHtmlHeadSection.english;\r\n\r\n      this.HTMLHeadSectionInArabic = new TextBoxOptions();\r\n      this.HTMLHeadSectionInArabic.name = \"EmailTemplateInfo.EmailHtmlHeadSection.Arabic\";\r\n      this.HTMLHeadSectionInArabic.labelKey = \"HTMLHeadSectionInArabic\";\r\n      this.HTMLHeadSectionInArabic.type = InputType.Text;\r\n      this.HTMLHeadSectionInArabic.forceDirection = ForceDirection.Arabic;\r\n      this.HTMLHeadSectionInArabic.value = this.TemplateInfo.emailTemplateInfo.emailHtmlHeadSection.arabic;\r\n      this.IsFormLoaded = true;\r\n    });\r\n\r\n  }\r\n  getEditEmailModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditEmailForm.value;\r\n    let EditModel = new TemplateEditViewModel();\r\n    EditModel.ID_GUID = this.TemplateId;\r\n    EditModel.IsEmail = true;\r\n    EditModel.IsSms = false;\r\n    EditModel.TemplateName = this.TemplateInfo.templateName;\r\n    EditModel.Language = this.Lang;\r\n    EditModel.EmailTemplateInfo.ID_GUID = this.TemplateInfo.emailTemplateInfo.iD_GUID;\r\n    EditModel.EmailTemplateInfo.EmailBody.arabic = ResultModel[\"EmailTemplateInfo.EmailBody.Arabic\"];\r\n    EditModel.EmailTemplateInfo.EmailBody.english = ResultModel[\"EmailTemplateInfo.EmailBody.English\"];\r\n    EditModel.EmailTemplateInfo.EmailSubject.arabic = ResultModel[\"EmailTemplateInfo.EmailSubject.Arabic\"];\r\n    EditModel.EmailTemplateInfo.EmailSubject.english = ResultModel[\"EmailTemplateInfo.EmailSubject.English\"];\r\n    EditModel.EmailTemplateInfo.EmailHtmlBodyTagAttributes.arabic = ResultModel[\"EmailTemplateInfo.EmailHtmlBodyTagAttributes.Arabic\"];\r\n    EditModel.EmailTemplateInfo.EmailHtmlBodyTagAttributes.english = ResultModel[\"EmailTemplateInfo.EmailHtmlBodyTagAttributes.English\"];\r\n    EditModel.EmailTemplateInfo.EmailHtmlHeadSection.arabic = ResultModel[\"EmailTemplateInfo.EmailHtmlHeadSection.Arabic\"];\r\n    EditModel.EmailTemplateInfo.EmailHtmlHeadSection.english = ResultModel[\"EmailTemplateInfo.EmailHtmlHeadSection.English\"];\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditEmailFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editEmailTemplateByLang(EditModel);\r\n  };\r\n  onEditEmailSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Notifications/TemplateInfo', this.TemplateId]);\r\n  }\r\n\r\n  //Change Lang\r\n  changeCurrentLanguage(lang: string) {\r\n    this.Lang = lang;\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n  <div class=\"container-fluid\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\">\r\n\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <div class=\"subheadertoolbar\">\r\n            <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n              {{utilityService.getResourceValue(\"Arabic\")}}\r\n\r\n            </a>\r\n            <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n              {{utilityService.getResourceValue(\"English\")}}\r\n            </a>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-body\">\r\n        <BBSF-Form [options]=\"EditEmailFormOptions\" *ngIf=\"IsFormLoaded\">\r\n          <div class=\"kt-form\">\r\n            <div *ngIf=\"Lang=='ar'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"EmailSubjectInArabic\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"EmailBodyInArabic\" [group]=\"EditEmailForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"HtmlBodyTagAttributesArabic\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"HTMLHeadSectionInArabic\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div *ngIf=\"Lang=='en'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"EmailSubjectInEnglish\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n\r\n\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"EmailBodyInEnglish\" [group]=\"EditEmailForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"HtmlBodyTagAttributesEnglish\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextBox [options]=\"HTMLHeadSectionInEnglish\" [group]=\"EditEmailForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"d-flex justify-content-end\">\r\n            <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n            <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n          </div>\r\n        </BBSF-Form>\r\n      </div>\r\n    </div>\r\n\r\n\r\n  </div>\r\n  \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormOptions, TextAreaOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { TemplateEditViewModel } from '../../shared/models/NotificationsModels/TemplateEditViewModel';\r\nimport { TemplateService } from '../../shared/Services/TemplateService.service';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-edit-sms',\r\n    templateUrl: './edit-sms.component.html',\r\n    standalone: false\r\n})\r\nexport class EditSMSComponent implements OnInit {\r\n  //Page Requirements\r\n  TemplateId: string;\r\n  Lang: string = \"\";\r\n  TemplateInfo: any;\r\n  IsFormLoaded: boolean;\r\n\r\n  //Initialize form and controls\r\n  EditSMSForm = new FormGroup({});\r\n  EditSMSFormOptions = new FormOptions;\r\n  SMSInEnglish: TextAreaOptions;\r\n  SMSInArabic: TextAreaOptions;\r\n\r\n  constructor(public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private templateService: TemplateService, private activatedRoute: ActivatedRoute, private router: Router,\r\n    private pageInfoService: PageInfoService, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.TemplateId = params['id'];\r\n      this.Lang = params['lang'];\r\n    });\r\n  }\r\n\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  initializePage() {\r\n    this.templateService.getTemplateInfoByLang(this.TemplateId, this.Lang).subscribe((result) => {\r\n      let Result: any = result;\r\n      this.TemplateInfo = Result.val;\r\n      let TemplateName: string = this.TemplateInfo.emailTemplateInfo.emailSubjectStr;\r\n      if (TemplateName == null || TemplateName == undefined)\r\n        TemplateName = \"\";\r\n      PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Edit\");\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Templates\"), path: '/Admin/Notifications/Templates', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: TemplateName != \"\" ? this.utilityService.getResourceValue(TemplateName) : \"\", path: \"/Admin/Notifications/TemplateInfo/\" + this.TemplateInfo.iD_GUID, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n\r\n      //Initialize form and controls\r\n      this.EditSMSForm = new FormGroup({});\r\n      this.EditSMSFormOptions = new FormOptions();\r\n      this.EditSMSFormOptions.formGroup = this.EditSMSForm;\r\n      this.EditSMSFormOptions.getModelFunction = this.getEditSMSModel;\r\n      this.EditSMSFormOptions.serviceSubmitFunction = this.getEditSMSFunction;\r\n      this.EditSMSFormOptions.onSuccessHandler = this.onEditSMSSuccess;\r\n\r\n      this.SMSInEnglish = new TextAreaOptions();\r\n      this.SMSInEnglish.name = \"SMSTemplateInfo.SMS.English\";\r\n      this.SMSInEnglish.labelKey = \"SMSInEnglish\";\r\n      this.SMSInEnglish.isRequired = true;\r\n      this.SMSInEnglish.value = this.TemplateInfo.smsTemplateInfo.sms.english;\r\n\r\n      this.SMSInArabic = new TextAreaOptions();\r\n      this.SMSInArabic.name = \"SMSTemplateInfo.SMS.Arabic\";\r\n      this.SMSInArabic.labelKey = \"SMSInArabic\";\r\n      this.SMSInArabic.isRequired = true;\r\n      this.SMSInArabic.value = this.TemplateInfo.smsTemplateInfo.sms.arabic;\r\n\r\n      this.IsFormLoaded = true;\r\n    });\r\n\r\n  }\r\n  getEditSMSModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditSMSForm.value;\r\n    let EditModel = new TemplateEditViewModel();\r\n    EditModel.ID_GUID = this.TemplateId;\r\n    EditModel.IsEmail = false;\r\n    EditModel.IsSms = true;\r\n    EditModel.TemplateName = this.TemplateInfo.templateName;\r\n    EditModel.Language = this.Lang;\r\n    EditModel.SMSTemplateInfo.ID_GUID = this.TemplateInfo.smsTemplateInfo.iD_GUID;\r\n    EditModel.SMSTemplateInfo.SMS.arabic = ResultModel[\"SMSTemplateInfo.SMS.Arabic\"];\r\n    EditModel.SMSTemplateInfo.SMS.english = ResultModel[\"SMSTemplateInfo.SMS.English\"];\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditSMSFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editSMSTemplateByLang(EditModel);\r\n  };\r\n  onEditSMSSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Notifications/TemplateInfo', this.TemplateId]);\r\n  }\r\n\r\n  //Change Lang\r\n  changeCurrentLanguage(lang: string) {\r\n    this.Lang = lang;\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n  <div class=\"container-fluid\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\">\r\n          <!--{{TemplateInfo.templateName}}(SMS)-->\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n            {{utilityService.getResourceValue(\"Arabic\")}}\r\n          </a>\r\n          <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n            {{utilityService.getResourceValue(\"English\")}}\r\n          </a>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-body\">\r\n        <BBSF-Form [options]=\"EditSMSFormOptions\" *ngIf=\"IsFormLoaded\">\r\n          <div class=\"kt-form row\">\r\n            <div *ngIf=\"Lang=='ar'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextArea class=\"text-right\" [options]=\"SMSInArabic\" [group]=\"EditSMSForm\">\r\n                  </BBSF-TextArea>\r\n                </div>\r\n                <div class=\"col-md-6 d-flex align-items-center justify-content-center\">\r\n                  <div class=\"iphone\">\r\n                    <span class=\"position-absolute mobile-txt\">{{TemplateInfo.smsTemplateInfo.sms.arabic}}</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div *ngIf=\"Lang=='en'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-6\">\r\n                  <BBSF-TextArea [options]=\"SMSInEnglish\" [group]=\"EditSMSForm\">\r\n                  </BBSF-TextArea>\r\n                </div>\r\n                <div class=\"col-md-6 d-flex align-items-center justify-content-center\">\r\n                  <div class=\"iphone\">\r\n                    <span class=\"position-absolute mobile-txt\">{{TemplateInfo.smsTemplateInfo.sms.english}}</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"d-flex justify-content-end\">\r\n            <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n            <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n          </div>\r\n        </BBSF-Form>\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NotificationsComponent } from './notifications.component';\r\nimport { MasterLayoutsComponent } from './master-layouts/master-layouts.component';\r\nimport { AddNotificationComponent } from './add-notification/add-notification.component';\r\nimport { EditNotificationComponent } from './edit-notification/edit-notification.component';\r\nimport { TemplatesComponent } from './templates/templates.component';\r\nimport { TemplateInfoComponent } from './template-info/template-info.component';\r\nimport { EditEmailComponent } from './edit-email/edit-email.component';\r\nimport { EditSMSComponent } from './edit-sms/edit-sms.component';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: NotificationsComponent,\r\n    children: [\r\n      {\r\n        path: \"MasterLayouts\",\r\n        component: MasterLayoutsComponent\r\n      },\r\n      {\r\n        path: \"Add\",\r\n        component: AddNotificationComponent\r\n      },\r\n      {\r\n        path: \"Edit/:id\",\r\n        component: EditNotificationComponent\r\n      },\r\n      {\r\n        path: \"Templates\",\r\n        component: TemplatesComponent\r\n      },\r\n      {\r\n        path: \"TemplateInfo/:id\",\r\n        component: TemplateInfoComponent\r\n      },\r\n      {\r\n        path: \"EditEmail/:id/:lang\",\r\n        component: EditEmailComponent\r\n      },\r\n      {\r\n        path: \"EditSMS/:id/:lang\",\r\n        component: EditSMSComponent\r\n      },\r\n      {\r\n        path: \"\",\r\n        redirectTo: 'MasterLayouts',\r\n        pathMatch: 'full'\r\n      },\r\n    ]\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class NotificationsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NotificationsRoutingModule } from './notifications.routing';\r\nimport { NotificationsComponent } from './notifications.component';\r\nimport { MasterLayoutsComponent } from './master-layouts/master-layouts.component';\r\nimport { AddNotificationComponent } from './add-notification/add-notification.component';\r\nimport { EditNotificationComponent } from './edit-notification/edit-notification.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { TemplatesComponent } from './templates/templates.component';\r\nimport { TemplateInfoComponent } from './template-info/template-info.component';\r\nimport { EditEmailComponent } from './edit-email/edit-email.component';\r\nimport { EditSMSComponent } from './edit-sms/edit-sms.component';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { TemplateService } from '../shared/Services/TemplateService.service';\r\n\r\n@NgModule({\r\n  declarations: [NotificationsComponent, MasterLayoutsComponent, AddNotificationComponent, EditNotificationComponent, TemplatesComponent, TemplateInfoComponent, EditEmailComponent, EditSMSComponent],\r\n  imports: [\r\n    NotificationsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    SubheaderModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    TemplateService\r\n  ]\r\n})\r\nexport class NotificationsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-lookups',\r\n    templateUrl: './lookups.component.html',\r\n    standalone: false\r\n})\r\nexport class LookupsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { LookUpItem } from \"./LookupItem\";\r\nexport class LookupModel {\r\n  ID_GUID: string;\r\n  UpdatedID_GUID: string;\r\n  LookupGroupID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  LookupGroupName: string;\r\n  LookupItems: LookUpItem[] = [];\r\n  SysName: string;\r\n  Manageable: boolean;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LookupModel } from \"../models/Lookups/LookupModel\";\r\nimport { LookUpItem } from \"../models/Lookups/LookupItem\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class LookupService {\r\n    ApiUrl = \"/api/admin/Lookup/\";\r\n    constructor(private http: RequestHandlerService) {\r\n    }\r\n\r\n    loadDropdown() {\r\n        return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n    }\r\n\r\n    addLookup(AddModel: LookupModel) {\r\n        return this.http.post(this.ApiUrl + 'AddLookup', AddModel);\r\n    }\r\n\r\n    getLookup(id: string) {\r\n        let params = new HttpParams();\r\n        params = params.append(\"id\", id);\r\n        return this.http.get(this.ApiUrl + 'EditLookup', params);\r\n    }\r\n\r\n    editLookup(EditModel: LookupModel) {\r\n        return this.http.post(this.ApiUrl + 'EditLookup', EditModel);\r\n    }\r\n\r\n    deleteLookup(id: string) {\r\n        return this.http.post(this.ApiUrl + 'DeleteLookup', JSON.stringify(id));\r\n    }\r\n\r\n    addLookupItem(AddModel: LookUpItem) {\r\n        return this.http.post(this.ApiUrl + 'AddLookupItem', AddModel);\r\n    }\r\n\r\n    getLookupItem(id: string) {\r\n        let params = new HttpParams();\r\n        params = params.append(\"id\", id);\r\n        return this.http.get(this.ApiUrl + 'EditLookupItem', params);\r\n    }\r\n\r\n    editLookupItem(EditModel: LookUpItem) {\r\n        return this.http.post(this.ApiUrl + 'EditLookupItem', EditModel);\r\n    }\r\n\r\n    deleteLookupItem(id: string) {\r\n        return this.http.post(this.ApiUrl + 'DeleteLookupItem', JSON.stringify(id));\r\n    }\r\n\r\n    generateCodeAll() {\r\n        return this.http.get(this.ApiUrl + 'GenerateCodeAll');\r\n    }\r\n\r\n    generateApplicationEnums() {\r\n        return this.http.get(this.ApiUrl + 'GenerateApplicationEnums');\r\n    }\r\n\r\n    generateSysNames() {\r\n        return this.http.get(this.ApiUrl + 'GenerateSysNames');\r\n    }\r\n\r\n    generateCodeById(id: string) {\r\n        return this.http.post(this.ApiUrl + 'GenerateCodeById', JSON.stringify(id));\r\n    }\r\n    getLookupInfo(Id: string) {\r\n        let params = new HttpParams();\r\n        params = params.append(\"id\", Id);\r\n        return this.http.post(this.ApiUrl + 'GetLookupItemInfo', null, null, params);\r\n    }\r\n\r\n\r\n}","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { LookupModel } from '../../shared/models/Lookups/LookupModel';\r\nimport { LookupService } from '../../shared/Services/LookupService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n@Component({\r\n    selector: 'lib-lookup',\r\n    templateUrl: './lookup.component.html',\r\n    standalone: false\r\n})\r\nexport class LookupComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = \"/api/admin/Lookup/\";\r\n  ProductionMode: boolean = false;\r\n  Lookup: any;\r\n\r\n  //Filter and paging components\r\n  lookupGroupsOptions: DropdownOptions;\r\n  searchTextBox: TextBoxOptions;\r\n  selectedLookupList = [];\r\n  lookupGroupsList = [];\r\n  lookupForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  lookupPagingResult: any[] = [];\r\n  filteredLookupPagingResult: any[] = [];\r\n  lookupPaging: PagingOptions;\r\n  lookupGroupFilter: FilterItem;\r\n  textInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('LookupPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Add Model Controls\r\n  addLookupForm = new FormGroup({});\r\n  addLookupFormOptions: FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  multiLingualDescription: MultiLingualTextAreaOptions;\r\n  sysName: TextBoxOptions;\r\n  lookupGroups: DropdownOptions;\r\n  isManageable: CheckBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  editLookupForm = new FormGroup({});\r\n  editLookupFormOptions: FormOptions;\r\n  lookupId: string;\r\n  editMultiLingualName: MultiLingualTextBoxOptions;\r\n  editMultiLingualDescription: MultiLingualTextAreaOptions;\r\n  editSysName: TextBoxOptions;\r\n  editLookupGroups: DropdownOptions;\r\n  editIsManageable: CheckBoxOptions;\r\n\r\n  //delete  Model Controls\r\n  deletedLookupId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  //GenerateCode  Model Controls\r\n  generateCodeForm = new FormGroup({});\r\n  generateCodeFormOptions: FormOptions;\r\n  generateCodeTextArea: TextAreaOptions;\r\n  valueToCopy: string = \"\";\r\n\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private _clipboardService: ClipboardService,\r\n    private lookupService: LookupService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Lookups\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n\r\n  //Paging functions\r\n  setLookupListResult(result) {\r\n    this.lookupPagingResult = result;\r\n    this.filteredLookupPagingResult = this.lookupPagingResult;\r\n\r\n  }\r\n\r\n  initializePage() {\r\n    this.lookupService.loadDropdown().subscribe((result) => {\r\n      let DropdownLists = result as any;\r\n      this.lookupGroupsList = DropdownLists;\r\n\r\n      this.lookupGroupsOptions = new DropdownOptions();\r\n      this.lookupGroupsOptions.name = \"Type\";\r\n      this.lookupGroupsOptions.labelKey = \"LookupGroups\";\r\n      this.lookupGroupsOptions.dataSource = this.lookupGroupsList;\r\n      this.lookupGroupsOptions.singleSelection = false;\r\n      this.lookupGroupsOptions.allowSearchFilter = true;\r\n      this.lookupGroupsOptions.placeholder = \"\";\r\n\r\n      // TextBox inti\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n      this.lookupGroupFilter = new FilterItem();\r\n      this.lookupGroupFilter.formControlName = \"Type\";\r\n      this.lookupGroupFilter.actionParameterName = \"lookupGroupId\";\r\n      this.lookupGroupFilter.isFormControl = true;\r\n      this.lookupGroupFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = \"searchTextBox\";\r\n      this.textInputFilter.actionParameterName = \"searchText\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n      this.lookupPaging = new PagingOptions();\r\n      this.lookupPaging.actionPostURL = this.ApiUrl + 'GetLookupsByFilter';\r\n      this.lookupPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n      this.lookupPaging.dropdownFiltersControlNames = [\"Type\"];\r\n      this.lookupPaging.filters = [this.lookupGroupFilter, this.textInputFilter];\r\n      this.lookupPaging.resetFilterButtonName = \"lookupsFiltersBtn\";\r\n\r\n      this.isFilterLoaded = true;\r\n\r\n\r\n    });\r\n  }\r\n\r\n\r\n\r\n  ///////////// Start add Lookup Part//////////////////////\r\n  showAddLookupModal(addLookupModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addLookupForm = new FormGroup({});\r\n\r\n    this.addLookupFormOptions = new FormOptions();\r\n    this.addLookupFormOptions.formGroup = this.addLookupForm;\r\n    this.addLookupFormOptions.getModelFunction = this.getAddLookupModel;\r\n    this.addLookupFormOptions.serviceSubmitFunction = this.getAddLookupFunction;\r\n    this.addLookupFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 100;\r\n\r\n    if (!this.ProductionMode) {\r\n      this.sysName = new TextBoxOptions();\r\n      this.sysName.name = \"SysName\";\r\n      this.sysName.labelKey = \"SysName\";\r\n      this.sysName.type = InputType.Text;\r\n      this.sysName.value = null;\r\n      this.sysName.isRequired = false;\r\n      this.sysName.maxLength = 100;\r\n\r\n\r\n      this.isManageable = new CheckBoxOptions();\r\n      this.isManageable.name = \"Manageable\";\r\n      this.isManageable.labelKey = \"Manageable\";\r\n      this.isManageable.value = true;\r\n    }\r\n\r\n    this.multiLingualDescription = new MultiLingualTextAreaOptions();\r\n    this.multiLingualDescription.name = \"Description\";\r\n    this.multiLingualDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n    this.multiLingualDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n    this.multiLingualDescription.maxLength = 250;\r\n\r\n    this.lookupGroups = new DropdownOptions();\r\n    this.lookupGroups.name = \"LookupGroupID_GUID\";\r\n    this.lookupGroups.labelKey = \"LookupGroups\";\r\n    this.lookupGroups.dataSource = this.lookupGroupsList;\r\n    this.lookupGroups.singleSelection = true;\r\n    this.lookupGroups.allowSearchFilter = true;\r\n    this.lookupGroups.placeholder = \"\";\r\n\r\n    this.modalService.open(addLookupModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  getAddLookupModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addLookupForm.value as any;\r\n    let AddModel = new LookupModel();\r\n    AddModel.Name = ResultModel.Name;\r\n    if (!this.ProductionMode) {\r\n      AddModel.SysName = ResultModel.SysName;\r\n    }\r\n    AddModel.Manageable = this.ProductionMode == true ? true : ResultModel.Manageable;\r\n    AddModel.Description = ResultModel.Description;\r\n    AddModel.LookupGroupID_GUID = ResultModel.LookupGroupID_GUID;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddLookupFunction = (AddModel): Observable<any> => {\r\n    return this.lookupService.addLookup(AddModel);\r\n  };\r\n  //////////// End of add Lookup part///////////////////////\r\n\r\n\r\n\r\n\r\n\r\n  ///////////Start of edit Lookup part//////////////////////\r\n  showEditLookupModal(lookupID: any, editLookupModal) {\r\n\r\n    this.editLookupForm = new FormGroup({});\r\n\r\n    this.editLookupFormOptions = new FormOptions();\r\n    this.editLookupFormOptions.formGroup = this.editLookupForm;\r\n    this.editLookupFormOptions.getModelFunction = this.getEditLookupModel;\r\n    this.editLookupFormOptions.serviceSubmitFunction = this.getEditLookupFunction;\r\n    this.editLookupFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n\r\n    this.lookupService.getLookup(lookupID).subscribe((result: any) => {\r\n      let Lookup = result.model as any;\r\n      this.Lookup = Lookup;\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = Lookup.name.arabic;\r\n      Name.english = Lookup.name.english;\r\n\r\n      this.editMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.editMultiLingualName.name = \"Name\";\r\n      this.editMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.editMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.editMultiLingualName.isRequired = true;\r\n      this.editMultiLingualName.value = Name;\r\n      this.editMultiLingualName.maxLength = 100;\r\n\r\n      this.editSysName = new TextBoxOptions();\r\n      this.editSysName.name = \"SysName\";\r\n      this.editSysName.labelKey = \"SysName\";\r\n      this.editSysName.type = InputType.Text;\r\n      this.editSysName.value = Lookup.sysName;\r\n      this.editSysName.isRequired = false;\r\n      this.editSysName.maxLength = 100;\r\n\r\n      let Description = new EnglishArabicDTO();\r\n      Description.arabic = Lookup.description.arabic;\r\n      Description.english = Lookup.description.english;\r\n\r\n      this.editMultiLingualDescription = new MultiLingualTextAreaOptions();\r\n      this.editMultiLingualDescription.name = \"Description\";\r\n      this.editMultiLingualDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.editMultiLingualDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.editMultiLingualDescription.value = Description;\r\n      this.editMultiLingualDescription.maxLength = 250;\r\n\r\n      this.editLookupGroups = new DropdownOptions();\r\n      this.editLookupGroups.name = \"LookupGroupID_GUID\";\r\n      this.editLookupGroups.labelKey = \"LookupGroups\";\r\n      this.editLookupGroups.dataSource = this.lookupGroupsList;\r\n      this.editLookupGroups.singleSelection = true;\r\n      this.editLookupGroups.allowSearchFilter = true;\r\n      this.editLookupGroups.placeholder = \"\";\r\n      this.editLookupGroups.selectedItems = Lookup.lookupGroupID_GUID?.toLowerCase();\r\n      this.editLookupGroups.isDisabled = this.ProductionMode;\r\n\r\n      this.editIsManageable = new CheckBoxOptions();\r\n      this.editIsManageable.name = \"Manageable\";\r\n      this.editIsManageable.labelKey = \"Manageable\";\r\n      this.editIsManageable.value = Lookup.manageable;\r\n\r\n      this.lookupId = Lookup.iD_GUID;\r\n      this.modalService.open(editLookupModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditLookupModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editLookupForm.value as any;\r\n    console.log(ResultModel);\r\n    let EditModel = new LookupModel();\r\n    EditModel.ID_GUID = this.lookupId;\r\n    EditModel.Name = ResultModel.Name;\r\n    if (!this.ProductionMode) {\r\n      EditModel.SysName = ResultModel.SysName;\r\n      EditModel.Manageable = ResultModel.Manageable;\r\n      EditModel.LookupGroupID_GUID = ResultModel.LookupGroupID_GUID;\r\n    }\r\n    else {\r\n      EditModel.SysName = this.Lookup.sysName;\r\n      EditModel.Manageable = this.Lookup.manageable;\r\n      EditModel.LookupGroupID_GUID = this.Lookup.lookupGroupID_GUID;\r\n    }\r\n\r\n    EditModel.Description = ResultModel.Description;\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditLookupFunction = (EditModel): Observable<any> => {\r\n    return this.lookupService.editLookup(EditModel);\r\n  };\r\n  ///////////End of edit Lookup part//////////////////////\r\n\r\n\r\n\r\n  ///////////Start of delete Lookup part//////////////////////\r\n  showDeleteLookupModal(lookupId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedLookupId = lookupId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedLookupId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteLookup;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteLookup = (id: string): Observable<any> => {\r\n    return this.lookupService.deleteLookup(id);\r\n  };\r\n  ///////////End of delete LookupGroup part//////////////////////\r\n\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.valueToCopy.toString());\r\n  }\r\n\r\n  showGenerateCodeAllModal(GenerateCodeModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n\r\n    this.generateCodeFormOptions = new FormOptions();\r\n    this.generateCodeFormOptions.formGroup = this.generateCodeForm;\r\n    this.generateCodeFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.generateCodeAll().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.generateCodeTextArea = new TextAreaOptions();\r\n      this.generateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.generateCodeTextArea.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.generateCodeTextArea.isDisabled = true;\r\n      this.generateCodeTextArea.hideLabel = true;\r\n      this.generateCodeTextArea.rows = 20;\r\n      this.generateCodeTextArea.cols = 20;\r\n      this.generateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n  showGenerateApplicationEnumsModal(GenerateCodeModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n\r\n    this.generateCodeFormOptions = new FormOptions();\r\n    this.generateCodeFormOptions.formGroup = this.generateCodeForm;\r\n    this.generateCodeFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.generateApplicationEnums().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.generateCodeTextArea = new TextAreaOptions();\r\n      this.generateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.generateCodeTextArea.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.generateCodeTextArea.isDisabled = true;\r\n      this.generateCodeTextArea.hideLabel = true;\r\n      this.generateCodeTextArea.rows = 20;\r\n      this.generateCodeTextArea.cols = 20;\r\n      this.generateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n\r\n  }\r\n\r\n  showGenerateSysNameModal(GenerateCodeModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n\r\n    this.generateCodeFormOptions = new FormOptions();\r\n    this.generateCodeFormOptions.formGroup = this.generateCodeForm;\r\n    this.generateCodeFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.generateSysNames().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.generateCodeTextArea = new TextAreaOptions();\r\n      this.generateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.generateCodeTextArea.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.generateCodeTextArea.isDisabled = true;\r\n      this.generateCodeTextArea.hideLabel = true;\r\n      this.generateCodeTextArea.rows = 20;\r\n      this.generateCodeTextArea.cols = 20;\r\n      this.generateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  showGenerateCodeByIdModal(lookupId: any, GenerateCodeModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n\r\n    this.generateCodeFormOptions = new FormOptions();\r\n    this.generateCodeFormOptions.formGroup = this.generateCodeForm;\r\n    this.generateCodeFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.generateCodeById(lookupId).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.generateCodeTextArea = new TextAreaOptions();\r\n      this.generateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.generateCodeTextArea.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.generateCodeTextArea.isDisabled = true;\r\n      this.generateCodeTextArea.hideLabel = true;\r\n      this.generateCodeTextArea.rows = 20;\r\n      this.generateCodeTextArea.cols = 20;\r\n      this.generateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n\r\n\r\n  /**FunctionName:filterLookupList*/\r\n  /**Declaration:function to filter Lookup in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterLookupList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredLookupPagingResult = this.lookupPagingResult.filter(item => item.lookupName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredLookupPagingResult = this.lookupPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <!--(OnChange)=\"filterLookupList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"lookupForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <div ngbDropdown class=\"d-inline-block\">\r\n          <button ngbDropdownToggle href=\"javascript:;\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\"\r\n            id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Filter\")}}\r\n          </button>\r\n          <div *ngIf=\"isFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <div class=\"px-7 py-5\">\r\n              <div class=\"row\">\r\n                <div class=\"col-lg-12\">\r\n                  <div class=\"mb-10\">\r\n                    <BBSF-DropdownList [options]=\"lookupGroupsOptions\" [group]=\"lookupForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"d-flex justify-content-end\">\r\n                <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"lookupsFiltersBtn\">\r\n                  {{utilityService.getResourceValue(\"Reset\")}}\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <button href=\"javascript:;\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          (click)=\"showGenerateApplicationEnumsModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key me-1\"></i>{{utilityService.getResourceValue(\"GenerateApplicationEnums\")}}\r\n        </button>\r\n\r\n        <button href=\"javascript:;\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          (click)=\"showGenerateCodeAllModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key me-1\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n\r\n        <button href=\"javascript:;\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          (click)=\"showGenerateSysNameModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key me-1\"></i>{{utilityService.getResourceValue(\"GenerateSysName\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddLookupModal(AddLookupModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"LookupGroups\")}}</th>\r\n              <th class=\"min-w-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Manageable\")}}</th>\r\n\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n\r\n\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n\r\n            <tr *ngFor=\"let Lookup of filteredLookupPagingResult\">\r\n              <td>\r\n                <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Lookups/LookupItems', Lookup.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Lookup.lookupName}}</a>\r\n              </td>\r\n              <td>{{Lookup.lookupDescription}}</td>\r\n              <td>{{Lookup.lookupGroupName}}</td>\r\n              <td *ngIf=\"!ProductionMode\" class=\"align-middle\">{{Lookup.sysName}}</td>\r\n              <td>\r\n                <span *ngIf=\"Lookup.manageable;else default_no\">\r\n                  {{utilityService.getResourceValue(\"Yes\")}}\r\n                </span>\r\n                <ng-template #default_no>\r\n                  <span>\r\n                    {{utilityService.getResourceValue(\"No\")}}\r\n                  </span>\r\n                </ng-template>\r\n\r\n              </td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditLookupModal(Lookup.iD_GUID,EditLookupModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </a>\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showGenerateCodeByIdModal(Lookup.iD_GUID,GenerateCodeModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</span>\r\n                    </a>\r\n                    <a *ngIf=\"(!ProductionMode) ||(Lookup.manageable==true)\" ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeleteLookupModal(Lookup.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredLookupPagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '5' : '6'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setLookupListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"lookupPaging\"\r\n        [group]=\"lookupForm\" #LookupPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddLookupModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Lookup\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addLookupFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addLookupForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-MultiLingualTextArea [options]=\"multiLingualDescription\"\r\n        [group]=\"addLookupForm\"></BBSF-MultiLingualTextArea>\r\n      <div *ngIf=\"!ProductionMode\">\r\n        <BBSF-TextBox [options]=\"sysName\" [group]=\"addLookupForm\"></BBSF-TextBox>\r\n      </div>\r\n\r\n      <BBSF-DropdownList [options]=\"lookupGroups\" [group]=\"addLookupForm\"></BBSF-DropdownList>\r\n      <div *ngIf=\"!ProductionMode\">\r\n        <BBSF-CheckBox [options]=\"isManageable\" [group]=\"addLookupForm\"></BBSF-CheckBox>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseLookupModal id=\"CloseLookupModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!-- Edit Modal -->\r\n<ng-template #EditLookupModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Lookup\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editLookupFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"editMultiLingualName\" [group]=\"editLookupForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-MultiLingualTextArea [options]=\"editMultiLingualDescription\"\r\n        [group]=\"editLookupForm\"></BBSF-MultiLingualTextArea>\r\n      <BBSF-TextBox *ngIf=\"!ProductionMode\" [options]=\"editSysName\" [group]=\"editLookupForm\">\r\n      </BBSF-TextBox>\r\n      <BBSF-DropdownList [options]=\"editLookupGroups\" [group]=\"editLookupForm\">\r\n      </BBSF-DropdownList>\r\n      <BBSF-CheckBox *ngIf=\"!ProductionMode\" [options]=\"editIsManageable\" [group]=\"editLookupForm\">\r\n      </BBSF-CheckBox>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseEditLookupModal id=\"CloseEditLookupModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"generateCodeFormOptions\">\r\n      <div>\r\n        <BBSF-TextArea [options]=\"generateCodeTextArea\" [group]=\"generateCodeForm\" #GenerateCodeInput>\r\n        </BBSF-TextArea>\r\n\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class LookupGroupModel {\r\n  iD_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { LookupGroupModel } from \"../models/Lookups/LookupGroupModel\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class LookupGroupsService {\r\n  ApiUrl = \"/api/admin/LookupGroup/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  getLookupGroup(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditLookupGroup', params);\r\n  }\r\n\r\n  addLookupGroup(AddModel: LookupGroupModel) {\r\n    return this.http.post(this.ApiUrl + 'AddLookupGroup', AddModel);\r\n  }\r\n\r\n  editLookupGroup(EditModel: LookupGroupModel) {\r\n    return this.http.post(this.ApiUrl + 'EditLookupGroup', EditModel);\r\n  }\r\n\r\n  deleteLookupGroup(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteLookupGroup', JSON.stringify(id));\r\n  }\r\n\r\n}","import { Component, ElementRef, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { LookupGroupModel } from '../../shared/models/Lookups/LookupGroupModel';\r\nimport { LookupGroupsService } from '../../shared/Services/LookupGroupsService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-lookup-group',\r\n    templateUrl: './lookup-group.component.html',\r\n    standalone: false\r\n})\r\nexport class LookupGroupComponent implements OnInit, OnDestroy {\r\n\r\n\r\n  //Page requirements\r\n  ApiUrl = this.lookupGroupsService.ApiUrl;\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  lookupGroupsForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  lookupGroupsPagingResult: any[] = [];\r\n  filteredLookupGroupsPagingResult: any[] = [];\r\n  lookupGroupsPaging: PagingOptions;\r\n  textInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  productionMode: boolean;\r\n  @ViewChild('LookupGroupPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  addLookupGroupForm = new FormGroup({});\r\n  addLookupGroupFormOptions: FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  editLookupGroupForm = new FormGroup({});\r\n  editLookupGroupFormOptions: FormOptions;\r\n  editMultiLingualName: MultiLingualTextBoxOptions;\r\n  lookupGroupId: string;\r\n\r\n  //delete  Model Controls\r\n  deletedLookupGroupId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor\r\n    (\r\n      private pageInfoService: PageInfoService,\r\n      public utilityService: UtilityService,\r\n      private lookupGroupsService: LookupGroupsService,\r\n      private modalService: NgbModal,\r\n      private requestHandlerService: RequestHandlerService\r\n    ) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"LookupGroups\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n\r\n  //Paging functions\r\n  setLookupGroupListResult(result) {\r\n    this.lookupGroupsPagingResult = result;\r\n    this.filteredLookupGroupsPagingResult = this.lookupGroupsPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  initializePage() {\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.lookupGroupsPaging = new PagingOptions();\r\n    this.lookupGroupsPaging.actionPostURL = this.ApiUrl + 'GetLookupGroupsByFilter';\r\n    this.lookupGroupsPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.lookupGroupsPaging.filters = [this.textInputFilter];\r\n\r\n    this.isFilterLoaded = true;\r\n\r\n  }\r\n\r\n  ///////////// Start add Lookup Group Part//////////////////////\r\n  showAddLookupGroupModal(AddLookupGroupModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addLookupGroupForm = new FormGroup({});\r\n\r\n    this.addLookupGroupFormOptions = new FormOptions();\r\n    this.addLookupGroupFormOptions.formGroup = this.addLookupGroupForm;\r\n    this.addLookupGroupFormOptions.getModelFunction = this.getAddLookupGroupModel;\r\n    this.addLookupGroupFormOptions.serviceSubmitFunction = this.getAddLookupGroupFunction;\r\n    this.addLookupGroupFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 100;\r\n\r\n    this.modalService.open(AddLookupGroupModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  getAddLookupGroupModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addLookupGroupForm.value as any;\r\n    let AddModel: LookupGroupModel = new LookupGroupModel();\r\n    AddModel.Name = ResultModel.Name;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddLookupGroupFunction = (AddModel): Observable<any> => {\r\n    return this.lookupGroupsService.addLookupGroup(AddModel);\r\n  };\r\n  //////////// End of add Lookup Group part///////////////////////\r\n\r\n\r\n  ///////////Start of edit Lookup part//////////////////////\r\n  showEditLookupGroupModal(lookupGroupID: any, editLookupGroupModal) {\r\n\r\n    this.editLookupGroupForm = new FormGroup({});\r\n\r\n    this.editLookupGroupFormOptions = new FormOptions();\r\n    this.editLookupGroupFormOptions.formGroup = this.editLookupGroupForm;\r\n    this.editLookupGroupFormOptions.getModelFunction = this.getEditLookupGroupModel;\r\n    this.editLookupGroupFormOptions.serviceSubmitFunction = this.getEditLookupGroupFunction;\r\n    this.editLookupGroupFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n\r\n    this.lookupGroupsService.getLookupGroup(lookupGroupID).subscribe((result: any) => {\r\n      let LookupGroup = result.model as any;\r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = LookupGroup.name.arabic;\r\n      name.english = LookupGroup.name.english;\r\n\r\n      this.editMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.editMultiLingualName.name = \"Name\";\r\n      this.editMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.editMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.editMultiLingualName.isRequired = true;\r\n      this.editMultiLingualName.value = name;\r\n      this.editMultiLingualName.maxLength = 100;\r\n\r\n      this.lookupGroupId = LookupGroup.iD_GUID;\r\n      this.modalService.open(editLookupGroupModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditLookupGroupModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editLookupGroupForm.value as any;\r\n    let EditModel = new LookupGroupModel();\r\n    EditModel.iD_GUID = this.lookupGroupId;\r\n    EditModel.Name = ResultModel.Name;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditLookupGroupFunction = (EditModel): Observable<any> => {\r\n    return this.lookupGroupsService.editLookupGroup(EditModel);\r\n  };\r\n  ///////////End of edit LookupGroup part//////////////////////\r\n\r\n\r\n  ///////////Start of delete LookupGroup part//////////////////////\r\n  showDeleteLookupGroupModal(lookupGroupId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedLookupGroupId = lookupGroupId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedLookupGroupId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteLookupGroup;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteConfirmationOptions.disableErrorNotification = true;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteLookupGroup = (id: string): Observable<any> => {\r\n    return this.lookupGroupsService.deleteLookupGroup(id);\r\n  };\r\n  ///////////End of delete LookupGroup part//////////////////////\r\n\r\n\r\n\r\n  /**FunctionName:filterLookupGroupList*/\r\n  /**Declaration:function to filter LookupGroupList in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterLookupGroupList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredLookupGroupsPagingResult = this.lookupGroupsPagingResult.filter(item => item.lookupGroupName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredLookupGroupsPagingResult = this.lookupGroupsPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <!--(OnChange)=\"filterLookupGroupList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"lookupGroupsForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddLookupGroupModal(AddLookupGroupModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::LookupGroups list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let LookupGroup of filteredLookupGroupsPagingResult\">\r\n\r\n              <td>\r\n                <span class=\"text-dark\">{{LookupGroup.lookupGroupName}}</span>\r\n              </td>\r\n\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditLookupGroupModal(LookupGroup.iD_GUID,EditLookupGroupModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteLookupGroupModal(LookupGroup.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredLookupGroupsPagingResult.length == 0\">\r\n              <td colspan=\"2\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::LookupGroups list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setLookupGroupListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"lookupGroupsPaging\"\r\n        [group]=\"lookupGroupsForm\" #LookupGroupPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddLookupGroupModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"LookupGroup\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addLookupGroupFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addLookupGroupForm\"></BBSF-MultiLingualTextBox>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseLookupGroupModal id=\"CloseLookupGroupModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Edit Modal -->\r\n<ng-template #EditLookupGroupModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"LookupGroup\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editLookupGroupFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"editMultiLingualName\"\r\n        [group]=\"editLookupGroupForm\"></BBSF-MultiLingualTextBox>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseEditLookupGroupModal id=\"CloseEditLookupGroupModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class LookUpItem {\r\n  ID_GUID: string;\r\n  UpdatedID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Manageable: boolean;\r\n  DisplayOrder?: number;\r\n  Value: string;\r\n  LookupID_GUID: string;\r\n  LookupName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  SysName: string;\r\n  IsParentLookupManageable: boolean;\r\n  IsDeleted: boolean;\r\n}\r\n","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, RangeNumber, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { LookUpItem } from '../../shared/models/Lookups/LookupItem';\r\nimport { LookupService } from '../../shared/Services/LookupService.service';\r\nimport { EnglishArabicDTO } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'lib-lookup-item',\r\n  templateUrl: './lookup-item.component.html',\r\n  standalone: false\r\n})\r\nexport class LookupItemComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.lookupService.ApiUrl;\r\n  ProductionMode: boolean = false;\r\n\r\n  //Parent Lookup data\r\n  LookupId: string;\r\n  LookupName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  IsParentLookupManageable: boolean = false;\r\n\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  lookupIdTextBox: TextBoxOptions;\r\n  lookupItemForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  lookupItemPagingResult: any[] = [];\r\n  filteredLookupItemPagingResult: any[] = [];\r\n  lookupItemPaging: PagingOptions;\r\n  textInputFilter: FilterItem;\r\n  lookupIdInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('LookupItemPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Add Model Controls\r\n  addLookupItemForm = new FormGroup({});\r\n  addLookupItemFormOptions: FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  sysName: TextBoxOptions;\r\n  value: TextAreaOptions;\r\n  displayOrder: TextBoxOptions;\r\n  isManageable: CheckBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  editLookupItemForm = new FormGroup({});\r\n  editLookupItemFormOptions: FormOptions;\r\n  lookupItemId: string;\r\n  editLookupId: number;\r\n  editMultiLingualName: MultiLingualTextBoxOptions;\r\n  editSysName: TextBoxOptions;\r\n  editValue: TextAreaOptions;\r\n  editDisplayOrder: TextBoxOptions;\r\n  editIsManageable: CheckBoxOptions;\r\n\r\n  //delete  Model Controls\r\n  deletedLookupItemId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  //GenerateCode  Model Controls\r\n  generateCodeForm = new FormGroup({});\r\n  generateCodeFormOptions: FormOptions;\r\n  generateCodeTextArea: TextAreaOptions;\r\n  valueToCopy: string = \"\";\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private _clipboardService: ClipboardService,\r\n    private lookupService: LookupService,\r\n    private activatedRoute: ActivatedRoute,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.LookupId = params['id'];\r\n    });\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Paging functions\r\n  setLookupItemListResult(result) {\r\n    this.lookupItemPagingResult = result;\r\n    this.filteredLookupItemPagingResult = this.lookupItemPagingResult;\r\n  }\r\n\r\n  initializePage() {\r\n    this.lookupService.getLookupInfo(this.LookupId).subscribe((result) => {\r\n      this.isFilterLoaded = false;\r\n      let resultModel = result as any;\r\n      PageInfoService.PageTitle = resultModel.val.name.current_FailOver;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Lookups\"), path: '/Admin/Lookups/Lookups', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n      ];\r\n\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = \"searchTextBox\";\r\n      this.textInputFilter.actionParameterName = \"searchText\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n      // TextBox inti\r\n      this.lookupIdTextBox = new TextBoxOptions();\r\n      this.lookupIdTextBox.name = \"LookupIdTextBox\";\r\n      this.lookupIdTextBox.hideLabel = true;\r\n      this.lookupIdTextBox.type = InputType.Text;\r\n      this.lookupIdTextBox.value = this.LookupId;\r\n\r\n\r\n      this.lookupIdInputFilter = new FilterItem();\r\n      this.lookupIdInputFilter.formControlName = \"LookupIdTextBox\";\r\n      this.lookupIdInputFilter.actionParameterName = \"lookupId\";\r\n      this.lookupIdInputFilter.isFormControl = true;\r\n      this.lookupIdInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n      this.lookupItemPaging = new PagingOptions();\r\n      this.lookupItemPaging.actionPostURL = this.ApiUrl + 'GetLookupItemsByFilter';\r\n      this.lookupItemPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"LookupIdTextBox\"];\r\n      this.lookupItemPaging.filters = [this.lookupIdInputFilter, this.textInputFilter];\r\n\r\n      this.isFilterLoaded = true;\r\n\r\n    });\r\n  }\r\n\r\n  //#region add lookup item\r\n  showAddLookupItemModal(AddLookupItemModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addLookupItemForm = new FormGroup({});\r\n\r\n    this.addLookupItemFormOptions = new FormOptions();\r\n    this.addLookupItemFormOptions.formGroup = this.addLookupItemForm;\r\n    this.addLookupItemFormOptions.getModelFunction = this.getAddLookupItemModel;\r\n    this.addLookupItemFormOptions.serviceSubmitFunction = this.getAddLookupItemFunction;\r\n    this.addLookupItemFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 5000;\r\n\r\n    this.sysName = new TextBoxOptions();\r\n    this.sysName.name = \"SysName\";\r\n    this.sysName.labelKey = \"SysName\";\r\n    this.sysName.type = InputType.Text;\r\n    this.sysName.value = null;\r\n    this.sysName.maxLength = 100;\r\n\r\n    this.value = new TextAreaOptions();\r\n    this.value.name = \"Value\";\r\n    this.value.labelKey = \"Value\";\r\n    this.value.value = null;\r\n    this.value.maxLength = 5000;\r\n\r\n\r\n    this.displayOrder = new TextBoxOptions();\r\n    this.displayOrder.name = \"DisplayOrder\";\r\n    this.displayOrder.labelKey = \"DisplayOrder\";\r\n    this.displayOrder.type = InputType.Number;\r\n    this.displayOrder.numberRange = new RangeNumber();\r\n    this.displayOrder.numberRange.from = 1;\r\n    this.displayOrder.numberRange.to = 1000000000;\r\n\r\n    this.isManageable = new CheckBoxOptions();\r\n    this.isManageable.name = \"IsManageable\";\r\n    this.isManageable.labelKey = \"Manageable\";\r\n\r\n\r\n    this.modalService.open(AddLookupItemModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  getAddLookupItemModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addLookupItemForm.value as any;\r\n    let AddModel = new LookUpItem();\r\n    AddModel.Name = ResultModel[this.multiLingualName.name];\r\n    if (!this.ProductionMode) {\r\n      AddModel.SysName = ResultModel[this.sysName.name];\r\n    }\r\n    AddModel.Value = ResultModel[this.value.name];\r\n    AddModel.DisplayOrder = ResultModel[this.displayOrder.name];\r\n    AddModel.LookupID_GUID = this.LookupId;\r\n    AddModel.Manageable = ResultModel[this.isManageable.name];\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddLookupItemFunction = (AddModel): Observable<any> => {\r\n    return this.lookupService.addLookupItem(AddModel);\r\n  };\r\n  //#endregion\r\n\r\n  //#region edit lookup item\r\n  showEditLookupItemModal(lookupItemID: string, editLookupGroupModal) {\r\n\r\n    this.editLookupItemForm = new FormGroup({});\r\n\r\n    this.editLookupItemFormOptions = new FormOptions();\r\n    this.editLookupItemFormOptions.formGroup = this.editLookupItemForm;\r\n    this.editLookupItemFormOptions.getModelFunction = this.getEditLookupItemModel;\r\n    this.editLookupItemFormOptions.serviceSubmitFunction = this.getEditLookupItemFunction;\r\n    this.editLookupItemFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.getLookupItem(lookupItemID).subscribe((result: any) => {\r\n      let LookupItem = result.model as any;\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = LookupItem[0].name.arabic;\r\n      Name.english = LookupItem[0].name.english;\r\n\r\n      this.editMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.editMultiLingualName.name = \"Name\";\r\n      this.editMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.editMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.editMultiLingualName.isRequired = true;\r\n      this.editMultiLingualName.value = Name;\r\n      this.editMultiLingualName.maxLength = 5000;\r\n\r\n\r\n      this.editSysName = new TextBoxOptions();\r\n      this.editSysName.name = \"SysName\";\r\n      this.editSysName.labelKey = \"SysName\";\r\n      this.editSysName.type = InputType.Text;\r\n      this.editSysName.value = LookupItem[0].sysName;\r\n      this.editSysName.maxLength = 100;\r\n\r\n\r\n      this.editValue = new TextAreaOptions();\r\n      this.editValue.name = \"Value\";\r\n      this.editValue.labelKey = \"Value\";\r\n      this.editValue.value = LookupItem[0].value;\r\n      this.editValue.maxLength = 5000;\r\n\r\n      this.editDisplayOrder = new TextBoxOptions();\r\n      this.editDisplayOrder.name = \"DisplayOrder\";\r\n      this.editDisplayOrder.labelKey = \"DisplayOrder\";\r\n      this.editDisplayOrder.type = InputType.Number;\r\n      this.editDisplayOrder.value = LookupItem[0].displayOrder;\r\n      this.editDisplayOrder.numberRange = new RangeNumber();\r\n      this.editDisplayOrder.numberRange.from = 1;\r\n      this.editDisplayOrder.numberRange.to = 1000000000;\r\n\r\n\r\n\r\n\r\n      this.editIsManageable = new CheckBoxOptions();\r\n      this.editIsManageable.name = \"Manageable\";\r\n      this.editIsManageable.labelKey = \"Manageable\";\r\n      this.editIsManageable.value = LookupItem[0].manageable;\r\n      this.editIsManageable.isDisabled = (this.ProductionMode && LookupItem[0].manageable == false) == true ? true : false;\r\n\r\n      this.lookupItemId = LookupItem[0].iD_GUID;\r\n      this.modalService.open(editLookupGroupModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditLookupItemModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editLookupItemForm.value as any;\r\n    let EditModel = new LookUpItem();\r\n    EditModel.ID_GUID = this.lookupItemId;\r\n    EditModel.LookupID_GUID = this.LookupId;\r\n    EditModel.Name = ResultModel[this.editMultiLingualName.name];\r\n    if (!this.ProductionMode) {\r\n      EditModel.SysName = ResultModel[this.editSysName.name];\r\n    }\r\n    EditModel.Value = ResultModel[this.editValue.name];\r\n    EditModel.DisplayOrder = ResultModel[this.editDisplayOrder.name];\r\n    EditModel.Manageable = ResultModel[this.editIsManageable.name];\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditLookupItemFunction = (EditModel): Observable<any> => {\r\n    return this.lookupService.editLookupItem(EditModel);\r\n  };\r\n  //#endregion\r\n\r\n  //#region delete lookup item\r\n  showDeleteLookupItemModal(lookupItemId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedLookupItemId = lookupItemId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedLookupItemId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteLookupItem;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteLookupItem = (id: string): Observable<any> => {\r\n    return this.lookupService.deleteLookupItem(id);\r\n  };\r\n  //#endregion\r\n\r\n  //#region copy input message\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.valueToCopy.toString());\r\n  }\r\n  //#endregion\r\n\r\n  //#region generate code by id\r\n  showGenerateCodeByIdModal(GenerateCodeModal) {\r\n\r\n    this.generateCodeForm = new FormGroup({});\r\n\r\n    this.generateCodeFormOptions = new FormOptions();\r\n    this.generateCodeFormOptions.formGroup = this.generateCodeForm;\r\n    this.generateCodeFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.lookupService.generateCodeById(this.LookupId).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.generateCodeTextArea = new TextAreaOptions();\r\n      this.generateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.generateCodeTextArea.value = Value.val.toString();\r\n      this.valueToCopy = Value.val.toString();\r\n      this.generateCodeTextArea.isDisabled = true;\r\n      this.generateCodeTextArea.hideLabel = true;\r\n      this.generateCodeTextArea.rows = 20;\r\n      this.generateCodeTextArea.cols = 20;\r\n      this.generateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  //#endregion\r\n\r\n  //#region filter lookup item list\r\n\r\n  /**FunctionName:filterLookupItemList*/\r\n  /**Declaration:function to filter Lookup Item in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterLookupItemList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredLookupItemPagingResult = this.lookupItemPagingResult.filter(item => item.lookUpItemName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredLookupItemPagingResult = this.lookupItemPagingResult;\r\n  }\r\n  //#endregion  \r\n\r\n  //#region destroy observable\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  //#endregion\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\" *ngIf=\"isFilterLoaded\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <!--(OnChange)=\"filterLookupItemList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"lookupItemForm\"></BBSF-TextBox>\r\n        <div [hidden]=\"true\" class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"lookupIdTextBox\" [group]=\"lookupItemForm\"></BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button href=\"javascript:;\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key me-1\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddLookupItemModal(AddLookupItemModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Id\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Manageable\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n\r\n\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let LookupItem of filteredLookupItemPagingResult\">\r\n              <td class=\"text-dark\">{{LookupItem.id}}</td>\r\n\r\n              <td>\r\n                {{LookupItem.lookUpItemName}}\r\n              </td>\r\n\r\n              <td *ngIf=\"!ProductionMode\">{{LookupItem.sysName}}</td>\r\n              <td>{{LookupItem.value}}</td>\r\n              <td>\r\n                <span *ngIf=\"LookupItem.manageable;else default_no\">\r\n                  {{utilityService.getResourceValue(\"Yes\")}}\r\n                </span>\r\n                <ng-template #default_no>\r\n                  <span>\r\n                    {{utilityService.getResourceValue(\"No\")}}\r\n                  </span>\r\n                </ng-template>\r\n              </td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditLookupItemModal(LookupItem.iD_GUID,EditLookupItemModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </a>\r\n\r\n                    <a *ngIf=\"LookupItem.manageable\" ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeleteLookupItemModal(LookupItem.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredLookupItemPagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '6' : '7'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setLookupItemListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"lookupItemPaging\"\r\n        [group]=\"lookupItemForm\" #LookupItemPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddLookupItemModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"LookupItem\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addLookupItemFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addLookupItemForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-TextBox *ngIf=\"!ProductionMode\" [options]=\"sysName\" [group]=\"addLookupItemForm\"></BBSF-TextBox>\r\n      <BBSF-TextArea [options]=\"value\" [group]=\"addLookupItemForm\"></BBSF-TextArea>\r\n      <BBSF-TextBox [options]=\"displayOrder\" [group]=\"addLookupItemForm\"></BBSF-TextBox>\r\n      <BBSF-CheckBox [options]=\"isManageable\" [group]=\"addLookupItemForm\"></BBSF-CheckBox>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseLookupItemModal id=\"CloseLookupItemModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Edit Modal -->\r\n<ng-template #EditLookupItemModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"LookupItem\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editLookupItemFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"editMultiLingualName\"\r\n        [group]=\"editLookupItemForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-TextBox *ngIf=\"!ProductionMode\" [options]=\"editSysName\" [group]=\"editLookupItemForm\"></BBSF-TextBox>\r\n      <BBSF-TextArea [options]=\"editValue\" [group]=\"editLookupItemForm\"></BBSF-TextArea>\r\n      <BBSF-TextBox [options]=\"editDisplayOrder\" [group]=\"editLookupItemForm\"></BBSF-TextBox>\r\n      <BBSF-CheckBox [options]=\"editIsManageable\" [group]=\"editLookupItemForm\"></BBSF-CheckBox>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseEditLookupItemModal id=\"CloseEditLookupItemModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"generateCodeFormOptions\">\r\n      <div>\r\n\r\n        <BBSF-TextArea [options]=\"generateCodeTextArea\" [group]=\"generateCodeForm\" #GenerateCodeInput>\r\n        </BBSF-TextArea>\r\n\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" data-dismiss=\"modal\"\r\n          aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">{{utilityService.getResourceValue(\"CancelLabel\")}} </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n\r\n\r\n  </div>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LookupGroupComponent } from './lookup-group/lookup-group.component';\r\nimport { LookupItemComponent } from './lookup-item/lookup-item.component';\r\nimport { LookupComponent } from './lookup/lookup.component';\r\nimport { LookupsComponent } from './lookups.component';\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {path :\"\",component:LookupsComponent ,children:[\r\n   {path:\"Lookups\",component:LookupComponent},\r\n   {path:\"LookupGroups\",component:LookupGroupComponent},\r\n   {path:\"LookupItems/:id\",component:LookupItemComponent},\r\n   {path:\"\", redirectTo: 'Lookups', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class LookupsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LookupsComponent } from './lookups.component';\r\nimport { LookupComponent } from './lookup/lookup.component';\r\nimport { LookupGroupComponent } from './lookup-group/lookup-group.component';\r\nimport { LookupsRoutingModule } from './lookups-routing.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { LookupItemComponent } from './lookup-item/lookup-item.component';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { LookupService } from '../shared/Services/LookupService.service';\r\n\r\n@NgModule({\r\n  declarations: [LookupsComponent, LookupComponent, LookupGroupComponent, LookupItemComponent],\r\n  imports: [\r\n    CommonModule,\r\n    LookupsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    LookupService\r\n  ]\r\n})\r\nexport class LookupsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-departments',\r\n    templateUrl: './departments.component.html',\r\n    standalone: false\r\n})\r\nexport class DepartmentsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { Expose, Type } from 'class-transformer';\r\n\r\nexport class DepartmentModel {\r\n  ID_GUID: string;\r\n  SectorID_GUID?: string;\r\n  DepartmentNameDTO: EnglishArabicDTO;\r\n  DepartmentName: string;\r\n  SamAccount: string;\r\n  UsersCount: number;\r\n  OrganizationID_GUID: string;\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { DepartmentModel } from \"../models/DepartmentModels/DepartmentModel\";\r\nimport { DepartmentUsersIDRequestModel } from \"../models/DepartmentModels/DepartmentUsersIDRequestModel\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DepartmentService {\r\n  ApiUrl = \"/api/admin/Department/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n\r\n  addDepartment(AddModel: DepartmentModel) {\r\n    return this.http.post(this.ApiUrl + 'AddDepartment', AddModel);\r\n  }\r\n  getEditDepartment(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditDeparment', params);\r\n\r\n  }\r\n  editDepartment(EditModel: DepartmentModel) {\r\n    return this.http.post(this.ApiUrl + 'EditDeparment', EditModel);\r\n  }\r\n  deleteDepartment(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteDeparment', JSON.stringify(id));\r\n  }\r\n\r\n  addUsersToDepartment(AddModel: DepartmentUsersIDRequestModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddUsersToDepartment', AddModel);\r\n  }\r\n\r\n\r\n  deleteUserFromDepartment(userID: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"userID\", userID);\r\n\r\n    return this.http.post(this.ApiUrl + 'DeleteUserFromDepartment', null, null, params);\r\n  }\r\n  getDepartmentInfo(departmentId: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"departmentId\", departmentId);\r\n    return this.http.post(this.ApiUrl + 'GetDepartmentInfo', null, null, params);\r\n  }\r\n  loadAddEditList(organizationID:string=null) {\r\n    let params = organizationID ? `?organizationID=${organizationID}` : '';\r\n    return this.http.get(this.ApiUrl + `GetAddEditDropDowns` + params);  \r\n  }\r\n  loadFiltersDDL() {\r\n    return this.http.get(this.ApiUrl + 'LoadFiltersDropDown');\r\n  }\r\n\r\n\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild, OnDestroy, Renderer2 } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { EnglishArabicDTO, FilterItem, FilterType, InputType, MultiLingualTextBoxOptions, PagingOptions, TextBoxOptions, FormOptions, ConfirmationModalOptions, PagingComponent, ConfirmationModalComponent, DropdownOptions, PermissionSets, DropdownListComponent } from '@bnsights/bbsf-controls';\r\nimport { DepartmentService } from '../../shared/Services/DepartmentService.service';\r\nimport { DepartmentModel } from '../../shared/models/DepartmentModels/DepartmentModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal, } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, EnvironmentService, UtilityService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { Constants } from '../../shared';\r\n@Component({\r\n    selector: 'lib-department',\r\n    templateUrl: './department.component.html',\r\n    standalone: false\r\n})\r\nexport class DepartmentComponent implements OnInit, OnDestroy {\r\n  //Page requirements\r\n  ProductionMode: boolean;\r\n  ApiUrl = this.departmentService.ApiUrl;\r\n\r\n  //Filter and paging components\r\n  DepartmentForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  DepartmentPaging: PagingOptions;\r\n  DepartmentPagingResult: any[] = [];\r\n  DepartmentFilteredList: any[] = [];\r\n  sectorsList: any[] = [];\r\n  @ViewChild('DepartmentPagingViewElement', { static: false }) pagingElement: PagingComponent<DepartmentModel>;\r\n\r\n  //Add Model Controls\r\n  AddDepartmentForm = new FormGroup({});\r\n  AddDepartmentFormOptions: FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddSamAccount: TextBoxOptions;\r\n  AddSectorOptions: DropdownOptions;\r\n\r\n  //Edit Model Controls\r\n  EditDepartmentForm = new FormGroup({});\r\n  EditDepartmentFormOptions: FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditSamAccount: TextBoxOptions;\r\n  EditSectorOptions: DropdownOptions;\r\n  DepartmentId: string;\r\n\r\n  //delete  Model Controls\r\n  deleteDepartmentId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n    //multi tenant\r\n    adminWithMultitenanEnabled:boolean;\r\n    organizationOptions: DropdownOptions;\r\n    organizationsFilter: FilterItem;\r\n    currentUserProfile: any;\r\n    permissionSets = PermissionSets;\r\n    IsFilterDataLoaded: boolean = false;\r\n    addOrganizations:DropdownOptions;\r\n    editOrganizations:DropdownOptions;\r\n    addEditOrganizationList=[];\r\n    @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n    \r\n  constructor\r\n    (\r\n      private environmentService: EnvironmentService,\r\n      private departmentService: DepartmentService,\r\n      private modalService: NgbModal,\r\n      private authService: AuthService,\r\n      public utilityService: UtilityService,\r\n      private pageInfoService: PageInfoService,\r\n      private requestHandlerService: RequestHandlerService\r\n    ) {\r\n      this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n      let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n      this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n  }\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Departments\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    //initialize page\r\n    this.initializePage();\r\n    this.loadLists();\r\n  }\r\n\r\n\r\n  //Initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.DepartmentPaging = new PagingOptions<DepartmentModel>();\r\n    this.DepartmentPaging.actionPostURL = this.ApiUrl + 'GetDepartmentsByFilter';\r\n    this.DepartmentPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.DepartmentPaging.filters = [this.TextInputFilter];\r\n    this.DepartmentPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.DepartmentPaging.filters = this.DepartmentPaging.filters ?? [];\r\n      this.DepartmentPaging.dropdownFiltersControlNames = this.DepartmentPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.DepartmentPaging.filters.push(this.organizationsFilter);\r\n      this.DepartmentPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n      this.DepartmentPaging.resetFilterButtonName=\"departmentsFiltersBtn\";\r\n\r\n    }\r\n    \r\n\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n\r\n  //Paging functions\r\n  setDepartmentListResult(result: DepartmentModel[]) {\r\n    console.log(result);\r\n    this.DepartmentPagingResult = result;\r\n    this.DepartmentFilteredList = this.DepartmentPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n     //#region Load lists for filters\r\n     loadLists() {\r\n      this.departmentService.loadFiltersDDL().subscribe((result:any) => {\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(result.organizations);\r\n        this.organizationDDL.updateDataSource(filterOrganizationList);\r\n      });\r\n  }\r\n  //#endregion\r\n\r\n  //Add department\r\n  showAddDepartmentModal(addDepartmentModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.departmentService.loadAddEditList().subscribe((result: any) => {\r\n      this.sectorsList = result.sectors;\r\n\r\n      this.AddDepartmentForm = new FormGroup({});\r\n\r\n      this.AddDepartmentFormOptions = new FormOptions();\r\n      this.AddDepartmentFormOptions.formGroup = this.AddDepartmentForm;\r\n      this.AddDepartmentFormOptions.getModelFunction = this.getAddDepartmentModel;\r\n      this.AddDepartmentFormOptions.serviceSubmitFunction = this.getAddDepartmentFunction;\r\n      this.AddDepartmentFormOptions.onSuccessHandler = this.onAddDepartmentSuccess;\r\n      this.AddDepartmentFormOptions.onErrorHandler = this.onAddDepartmentError;\r\n      this.AddDepartmentFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddName = new MultiLingualTextBoxOptions();\r\n      this.AddName.name = \"DepartmentNameDTO\";\r\n      this.AddName.arabicLabelKey = \"NameInArabic\";\r\n      this.AddName.englishLabelKey = \"NameInEnglish\";\r\n      this.AddName.isRequired = true;\r\n      this.AddName.maxLength = 100;\r\n\r\n      this.AddSamAccount = new TextBoxOptions();\r\n      this.AddSamAccount.name = \"SamAccount\";\r\n      this.AddSamAccount.labelKey = \"SamAccount\";\r\n      this.AddSamAccount.type = InputType.Text;\r\n      this.AddSamAccount.value = null;\r\n      this.AddSamAccount.maxLength = 100;\r\n\r\n      this.AddSectorOptions = new DropdownOptions();\r\n      this.AddSectorOptions.name = \"SectorID_GUID\";\r\n      this.AddSectorOptions.labelKey = \"Sector\";\r\n      this.AddSectorOptions.selectedItems = null;\r\n      this.AddSectorOptions.dataSource = this.sectorsList;\r\n      this.AddSectorOptions.singleSelection = true;\r\n      this.AddSectorOptions.allowSearchFilter = true;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.addEditOrganizationList=result.organizations;\r\n        this.addOrganizations = new DropdownOptions();\r\n        this.addOrganizations.name = \"organizationId\";\r\n        this.addOrganizations.labelKey = \"Organization\";\r\n        this.addOrganizations.selectedItems = null;\r\n        this.addOrganizations.dataSource = this.addEditOrganizationList;\r\n        this.addOrganizations.singleSelection = true;\r\n        this.addOrganizations.allowSearchFilter = true;\r\n      }\r\n      this.modalService.open(addDepartmentModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  getAddDepartmentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddDepartmentForm.value as any;\r\n    let addModel: DepartmentModel = new DepartmentModel();\r\n    addModel.SamAccount = ResultModel.SamAccount;\r\n    addModel.SectorID_GUID = ResultModel.SectorID_GUID;\r\n    addModel.DepartmentNameDTO = ResultModel.DepartmentNameDTO;\r\n    addModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.addOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddDepartmentFunction = (addModel): Observable<any> => {\r\n    return this.departmentService.addDepartment(addModel);\r\n  };\r\n  onAddDepartmentSuccess = (result) => {\r\n    console.log(result);\r\n  };\r\n  onAddDepartmentError = (error) => {\r\n    console.log(error);\r\n  };\r\n  //Edit department\r\n  showEditDepartmentModal(departmentId: string, editDepartmentModal) {\r\n    this.EditDepartmentForm = new FormGroup({});\r\n\r\n    this.EditDepartmentFormOptions = new FormOptions();\r\n    this.EditDepartmentFormOptions.formGroup = this.EditDepartmentForm;\r\n    this.EditDepartmentFormOptions.getModelFunction = this.getEditDepartmentModel;\r\n    this.EditDepartmentFormOptions.serviceSubmitFunction = this.getEditDepartmentFunction;\r\n    this.EditDepartmentFormOptions.onSuccessHandler = this.onEditDepartmentSuccess;\r\n    this.EditDepartmentFormOptions.onErrorHandler = this.onEditDepartmentError;\r\n    this.EditDepartmentFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.DepartmentId = departmentId;\r\n    this.departmentService.getEditDepartment(departmentId).subscribe((result: any) => {\r\n      let department = result.model as any;\r\n\r\n      this.departmentService.loadAddEditList(department.organizationID_GUID).subscribe((result: any) => {\r\n        this.sectorsList = result.sectors;\r\n        \r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = department.departmentNameDTO.arabic;\r\n      name.english = department.departmentNameDTO.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"DepartmentNameDTO\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = name;\r\n      this.EditName.maxLength = 100;\r\n\r\n\r\n      this.EditSamAccount = new TextBoxOptions();\r\n      this.EditSamAccount.name = \"SamAccount\";\r\n      this.EditSamAccount.labelKey = \"SamAccount\";\r\n      this.EditSamAccount.type = InputType.Text;\r\n      this.EditSamAccount.value = department.samAccount;\r\n      this.EditSamAccount.maxLength = 100;\r\n\r\n      this.EditSectorOptions = new DropdownOptions();\r\n      this.EditSectorOptions.name = \"SectorID_GUID\";\r\n      this.EditSectorOptions.labelKey = \"Sector\";\r\n      this.EditSectorOptions.dataSource = this.sectorsList;\r\n      this.EditSectorOptions.singleSelection = true;\r\n      this.EditSectorOptions.allowSearchFilter = true;\r\n      this.EditSectorOptions.selectedItems=department.sectorID_GUID;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.addEditOrganizationList = result.organizations as any;\r\n        this.editOrganizations = new DropdownOptions();\r\n        this.editOrganizations.name = \"organizationId\";\r\n        this.editOrganizations.labelKey = \"Organization\";\r\n        this.editOrganizations.selectedItems = department.organizationID_GUID;\r\n        this.editOrganizations.dataSource = this.addEditOrganizationList;\r\n        this.editOrganizations.singleSelection = true;\r\n        this.editOrganizations.allowSearchFilter = true;\r\n      }\r\n\r\n      if (department.sectorID_GUID)\r\n        this.EditSectorOptions.selectedItems = department.sectorID_GUID;\r\n      this.modalService.open(editDepartmentModal);\r\n  \r\n      });\r\n\r\n\r\n    });\r\n\r\n\r\n  }\r\n\r\n  getEditDepartmentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditDepartmentForm.value as any;\r\n    let editModel: DepartmentModel = new DepartmentModel();\r\n    editModel.ID_GUID = this.DepartmentId;\r\n    editModel.DepartmentNameDTO = ResultModel.DepartmentNameDTO;\r\n    editModel.SamAccount = ResultModel.SamAccount;\r\n    editModel.SectorID_GUID = ResultModel.SectorID_GUID;\r\n    editModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.editOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditDepartmentFunction = (editModel): Observable<any> => {\r\n    return this.departmentService.editDepartment(editModel);\r\n  };\r\n  onEditDepartmentSuccess = (result) => {\r\n    console.log(result);\r\n  };\r\n  onEditDepartmentError = (error) => {\r\n    console.log(error);\r\n  };\r\n\r\n  //Delete department\r\n  showDeleteDepartmentModal(departmentIdEnc: any) {\r\n    this.deleteDepartmentId = departmentIdEnc;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteDepartmentId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteDepartment;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteDepartment = (id: string): Observable<any> => {\r\n    return this.departmentService.deleteDepartment(id);\r\n  };\r\n\r\n  /**FunctionName:filterDepartmentList */\r\n  /**Declaration:function to filter DepartmentList in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterDepartmentList(searchValue) {\r\n    if (searchValue)\r\n      this.DepartmentFilteredList = this.DepartmentPagingResult.filter(item => item.departmentName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.DepartmentFilteredList = this.DepartmentPagingResult;\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.onDestroy$.next();\r\n\r\n  }\r\n  onOrganizationChanges(orgID,sectorsDDL:DropdownListComponent,isAdd=false){\r\n    this.departmentService.loadAddEditList(orgID).subscribe((result: any) => {\r\n      if(isAdd){\r\n        this.AddSectorOptions.selectedItems = null;\r\n      }\r\n      else{\r\n        this.EditSectorOptions.selectedItems = null;\r\n      }\r\n\r\n      sectorsDDL.updateDataSource(result.sectors); \r\n    });\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\" *ngIf=\"IsFilterLoaded\">\r\n      <div class=\"card-title align-items-start flex-column\" >\r\n        <!--(OnChange)=\"filterDepartmentList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"DepartmentForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <div *ngIf=\"adminWithMultitenanEnabled\" ngbDropdown class=\"d-inline-block\">\r\n          <button\r\n            ngbDropdownToggle\r\n            href=\"javascript:;\"\r\n            type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\"\r\n            id=\"FiltersDropdown\"\r\n            title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{ utilityService.getResourceValue('Filter') }}\r\n          </button>\r\n          <div\r\n            ngbDropdownMenu\r\n            aria-labelledby=\"FiltersDropdown\"\r\n            class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"DepartmentForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div>\r\n                    <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\" [group]=\"DepartmentForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"departmentsFiltersBtn\">\r\n                    {{ utilityService.getResourceValue('Reset') }}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddDepartmentModal(AddDepartmentModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{ utilityService.getResourceValue('Add') }}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SamAccount\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"UsersCount\")}}</th>\r\n              <th *ngIf=\"adminWithMultitenanEnabled\" class=\"min-w-150px\">\r\n                {{ utilityService.getResourceValue('Organization') }}\r\n              </th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Department of DepartmentFilteredList\">\r\n              <td>\r\n                <a\r\n                  href=\"javascript:void(0)\"\r\n                  [routerLink]=\"['/Admin/Departments/DepartmentInfo', Department.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\"\r\n                  class=\"text-dark\"\r\n                  >{{ Department.departmentName }}</a\r\n                >\r\n              </td>\r\n              <td>{{Department.samAccount}}</td>\r\n              <td>{{Department.usersCount}}</td>\r\n              <td *ngIf=\"adminWithMultitenanEnabled\">{{ Department.organizationName ?? '-' }}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem (click)=\"showEditDepartmentModal(Department.iD_GUID, EditDepartmentModal)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </button>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteDepartmentModal(Department.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"DepartmentFilteredList.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging\r\n        (Items)=\"setDepartmentListResult($event)\"\r\n        *ngIf=\"IsFilterLoaded\"\r\n        [options]=\"DepartmentPaging\"\r\n        [group]=\"DepartmentForm\"\r\n        #DepartmentPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddDepartmentModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Add') }} {{ utilityService.getResourceValue('Department') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddDepartmentFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddDepartmentForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList #addSectorDDL [options]=\"AddSectorOptions\" [group]=\"AddDepartmentForm\"></BBSF-DropdownList>\r\n        </div>\r\n        @if (adminWithMultitenanEnabled) {\r\n          <BBSF-DropdownList #addOrganizationDDL (onChange)=\"onOrganizationChanges($event,addSectorDDL,true)\" [options]=\"addOrganizations\" [group]=\"AddDepartmentForm\"></BBSF-DropdownList>\r\n        }\r\n\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          #CloseDepartmentModal\r\n          id=\"CloseDepartmentModal\"\r\n          type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3\"\r\n          data-dismiss=\"modal\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!--Edit Modal-->\r\n<ng-template #EditDepartmentModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Edit') }} {{ utilityService.getResourceValue('Department') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditDepartmentFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"EditSamAccount\" [group]=\"EditDepartmentForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList #editSectorDDL [options]=\"EditSectorOptions\" [group]=\"EditDepartmentForm\"></BBSF-DropdownList>\r\n        </div>\r\n        @if (adminWithMultitenanEnabled) {\r\n          <BBSF-DropdownList #editOrganizationDDL (onChange)=\"onOrganizationChanges($event,editSectorDDL)\" [options]=\"editOrganizations\" [group]=\"EditDepartmentForm\"></BBSF-DropdownList>\r\n        }\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          #CloseEditDepartmentModal\r\n          id=\"CloseEditDepartmentModal\"\r\n          type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3\"\r\n          data-dismiss=\"modal\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"deleteControlLoaded\"\r\n  [options]=\"DeleteConfirmationOptions\"\r\n  id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n","export class DepartmentUsersIDRequestModel {\r\n  UsersIDs: string[] = []\r\n  DepartmentId: string;\r\n}\r\n","import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, FormOptions, InputType, PagingComponent, PagingOptions, TagsInputOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { DepartmentModel } from '../../shared/models/DepartmentModels/DepartmentModel';\r\nimport { DepartmentUsersIDRequestModel } from '../../shared/models/DepartmentModels/DepartmentUsersIDRequestModel';\r\nimport { DepartmentService } from '../../shared/Services/DepartmentService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n@Component({\r\n    selector: 'lib-department-info',\r\n    templateUrl: './department-info.component.html',\r\n    standalone: false\r\n})\r\nexport class DepartmentInfoComponent implements OnInit, OnDestroy {\r\n  //Page requirements\r\n  ApiUrl = this.departmentService.ApiUrl;\r\n\r\n  //Parent department data\r\n  DepartmentId: string = \"\";\r\n  Department: DepartmentModel = new DepartmentModel();\r\n\r\n  //Filter and paging components\r\n  UserDepartmentForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  DepartmentIdTextBox: TextBoxOptions;\r\n  DepartmentIdTextInputFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  UserDepartmentPaging: PagingOptions;\r\n  UserDepartmentPagingResult: any[] = [];\r\n  FilteredUserDepartmentPagingResult: any[] = [];\r\n\r\n  @ViewChild('UserDepartmentPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n\r\n  //Add Model Controls\r\n  AddUsersToDepartmentForm = new FormGroup({});\r\n  AddUserToDepartmentFormOptions: FormOptions;\r\n  UserAutoComplete: TagsInputOptions;\r\n\r\n  //delete  Model Controls\r\n  deleteUserId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(\r\n    private activatedRoute: ActivatedRoute,\r\n    public utilityService: UtilityService,\r\n    private departmentService: DepartmentService,\r\n    private pageInfoService: PageInfoService,\r\n    private authService: AuthService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService,\r\n\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.DepartmentId = params['id'];\r\n    });\r\n  }\r\n  ngOnInit(): void {\r\n    //Page header (breadcrumb and title)\r\n    this.loadBreadCrumpData();\r\n\r\n\r\n  }\r\n\r\n\r\n  //Paging functions\r\n  setUserDepartmentListResult(result) {\r\n    this.UserDepartmentPagingResult = result;\r\n    this.FilteredUserDepartmentPagingResult = this.UserDepartmentPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  //Get parent department name and set page title and breadcrumbs\r\n  loadBreadCrumpData() {\r\n    this.departmentService.getDepartmentInfo(this.DepartmentId).subscribe((result) => {\r\n      let resultModel = result as any;\r\n      PageInfoService.PageTitle = resultModel.val.departmentName;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Departments\"), path: '/Admin/Departments/Departments', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n      //initialize page\r\n      this.initializePage();\r\n    });\r\n  }\r\n\r\n  //Initialize filters and paging\r\n  initializePage() {\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByNameOrEmail\");\r\n\r\n    this.DepartmentIdTextBox = new TextBoxOptions();\r\n    this.DepartmentIdTextBox.name = \"DepartmentIdTextBox\";\r\n    this.DepartmentIdTextBox.labelKey = \"DepartmentIdTextBox\";\r\n    this.DepartmentIdTextBox.type = InputType.Text;\r\n    this.DepartmentIdTextBox.value = this.DepartmentId;\r\n    this.DepartmentIdTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.DepartmentIdTextInputFilter = new FilterItem();\r\n    this.DepartmentIdTextInputFilter.formControlName = \"DepartmentIdTextBox\";\r\n    this.DepartmentIdTextInputFilter.actionParameterName = \"departmentId\";\r\n    this.DepartmentIdTextInputFilter.isFormControl = true;\r\n    this.DepartmentIdTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.UserDepartmentPaging = new PagingOptions();\r\n    this.UserDepartmentPaging.actionPostURL = this.ApiUrl + 'GetUsersByFilter';\r\n    this.UserDepartmentPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"DepartmentIdTextBox\"];\r\n    this.UserDepartmentPaging.filters = [this.TextInputFilter, this.DepartmentIdTextInputFilter];\r\n    this.UserDepartmentPaging.pageSize = 10;\r\n    this.UserDepartmentPaging.hidePaginationWhenPageSizeEqualOne = true;\r\n    this.UserDepartmentPaging.showPageSizeOption = true;\r\n    this.UserDepartmentPaging.showFirstAndLast = true;\r\n    this.UserDepartmentPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n\r\n  //Add user to department\r\n  showAddUserToDepartmentModal(AddUserToDepartmentModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.AddUsersToDepartmentForm = new FormGroup({});\r\n    this.AddUserToDepartmentFormOptions = new FormOptions();\r\n    this.AddUserToDepartmentFormOptions.formGroup = this.AddUsersToDepartmentForm;\r\n    this.AddUserToDepartmentFormOptions.getModelFunction = this.getAddUserToDepartmentModel;\r\n    this.AddUserToDepartmentFormOptions.serviceSubmitFunction = this.getAddUserToDepartmentFunction;\r\n    this.AddUserToDepartmentFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.UserAutoComplete = new TagsInputOptions();\r\n    this.UserAutoComplete.name = \"UserAutoComplete\";\r\n    this.UserAutoComplete.labelKey = \"Users\";\r\n    this.UserAutoComplete.isRequired = true;\r\n    this.UserAutoComplete.value = null;\r\n    this.UserAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUserList\";\r\n    this.UserAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n    this.modalService.open(AddUserToDepartmentModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n\r\n  }\r\n\r\n  getAddUserToDepartmentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddUsersToDepartmentForm.value as any;\r\n    let AddModel: DepartmentUsersIDRequestModel = new DepartmentUsersIDRequestModel();\r\n    for (let index = 0; index < ResultModel.UserAutoComplete.length; index++) {\r\n      const key = ResultModel.UserAutoComplete[index].id;\r\n      AddModel.UsersIDs.push(key);\r\n    }\r\n    AddModel.DepartmentId = this.DepartmentId;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddUserToDepartmentFunction = (AddModel): Observable<any> => {\r\n    return this.departmentService.addUsersToDepartment(AddModel);\r\n  };\r\n\r\n\r\n  //Delete user from department\r\n  showDeleteUserFromDepartmentModal(encryptedUserId: string) {\r\n    this.deleteUserId = encryptedUserId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteUserId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteUserFromDepartment;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n\r\n  }\r\n\r\n  deleteUserFromDepartment = (deleteUserId: string): Observable<any> => {\r\n    return this.departmentService.deleteUserFromDepartment(deleteUserId);\r\n  };\r\n\r\n\r\n  /**FunctionName:filterUserDepartmentList */\r\n  /**Declaration:function to filter user Department List in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterUserDepartmentList(searchValue) {\r\n    if (searchValue)\r\n      this.FilteredUserDepartmentPagingResult = this.UserDepartmentPagingResult.filter(item => item.userName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.FilteredUserDepartmentPagingResult = this.UserDepartmentPagingResult;\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <BBSF-TextBox [hidden]=\"true\" [options]=\"DepartmentIdTextBox\" [group]=\"UserDepartmentForm\">\r\n        </BBSF-TextBox>\r\n        <!--(OnChange)=\"filterUserDepartmentList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"UserDepartmentForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddUserToDepartmentModal(AddUserToDepartmentModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Email\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Roles\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let user of FilteredUserDepartmentPagingResult\">\r\n\r\n              <td>\r\n                <span class=\"text-dark\">{{user.userName}}</span>\r\n              </td>\r\n              <td>{{user.email}}</td>\r\n              <td>{{user.userPermsets}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteUserFromDepartmentModal(user.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"FilteredUserDepartmentPagingResult.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setUserDepartmentListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"UserDepartmentPaging\"\r\n        [group]=\"UserDepartmentForm\" #UserDepartmentPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!--add Modal-->\r\n<ng-template #AddUserToDepartmentModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"User\")}} </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddUserToDepartmentFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TagsInput [options]=\"UserAutoComplete\" [group]=\"AddUsersToDepartmentForm\">\r\n          </BBSF-TagsInput>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseAddUsersToDepartment id=\"CloseAddUsersToDepartment\" type=\"button\"\r\n          class=\"btn btn-light btn-sm  me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { DepartmentInfoComponent } from './department-info/department-info.component';\r\nimport { DepartmentComponent } from './department/department.component';\r\nimport { DepartmentsComponent } from './departments.component';\r\n\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {path :\"\",component:DepartmentsComponent ,children:[\r\n   {path:\"Departments\",component:DepartmentComponent},\r\n   {path:\"DepartmentInfo/:id\",component:DepartmentInfoComponent},\r\n   {path:\"\", redirectTo: 'Departments', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n  \r\n})\r\nexport class DepartmentsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DepartmentsComponent } from './departments.component';\r\nimport { DepartmentComponent } from './department/department.component';\r\nimport { DepartmentInfoComponent } from './department-info/department-info.component';\r\nimport { DepartmentsRoutingModule } from './departments-routing.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\n// import { environmentService } from '../shared/Services/environmentsService.Service';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\nimport { NgbModal, NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { AuthService, EnvironmentService, UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { DepartmentService } from '../shared/Services/DepartmentService.service';\r\n@NgModule({\r\n  declarations: [DepartmentsComponent, DepartmentComponent, DepartmentInfoComponent],\r\n  imports: [\r\n    DepartmentsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    DepartmentService,\r\n    RequestHandlerService\r\n  ]\r\n})\r\nexport class DepartmentsModule { }\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class SectorModel {\r\n  ID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  DepartmentsCount: number;\r\n  OrganizationID_GUID: string;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { SectorModel } from \"../models/SectorModels/SectorModel\";\r\nimport { SectorDepartmentModel } from \"../models/SectorModels/SectorDepartmentModel\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class SectorService {\r\n  ApiUrl = \"/api/admin/Sector/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n\r\n  addSector(addModel: SectorModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddSector', addModel);\r\n  }\r\n  editSector(editModel: SectorModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditSector', editModel);\r\n  }\r\n  getEditSector(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditSector', params);\r\n\r\n  }\r\n  deleteSector(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteSector', JSON.stringify(id));\r\n  }\r\n\r\n\r\n  addDepartmentsToSector(addModel: SectorDepartmentModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddDepartmentstoSector', addModel);\r\n  }\r\n\r\n\r\n  deleteDepartmentFromSector(departmentId: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"departmentID\", departmentId);\r\n    return this.http.post(this.ApiUrl + 'DeleteDepartmentSector', null, null, params);\r\n  }\r\n\r\n  getSectorInfo(sectorId: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"sectorId\", sectorId);\r\n    return this.http.post(this.ApiUrl + 'GetSectorInfo', null, null, params);\r\n  }\r\n  loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'LoadOrganizationsDropdown');\r\n  }\r\n\r\n\r\n\r\n}","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, PagingOptions, TextBoxOptions,PermissionSets,DropdownOptions,\r\n  DropdownListComponent} from '@bnsights/bbsf-controls';\r\nimport { SectorService } from '../../shared/Services/SectorService.service';\r\nimport { SectorModel } from '../../shared/models/SectorModels/SectorModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { Constants } from '../../shared';\r\n\r\n@Component({\r\n    selector: 'lib-sector',\r\n    templateUrl: './sector.component.html',\r\n    standalone: false\r\n})\r\nexport class SectorComponent implements OnInit, OnDestroy {\r\n  //Page requirements\r\n  ProductionMode: boolean;\r\n  ApiUrl = this.sectorService.ApiUrl;\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  SectorForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  sectorPagingResult: any[] = [];\r\n  filteredSectorPagingResult: any[] = [];\r\n  SectorPaging: PagingOptions;\r\n  TextInputFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('SectorPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  AddSectorForm = new FormGroup({});\r\n  AddSectorFormOptions: FormOptions;\r\n  MultiLingualName: MultiLingualTextBoxOptions;\r\n  IsAddSectorFormLoaded: boolean = false;\r\n\r\n  //Edit Model Controls\r\n  EditSectorForm = new FormGroup({});\r\n  EditSectorFormOptions: FormOptions;\r\n  EditMultiLingualName: MultiLingualTextBoxOptions;\r\n  IsEditSectorModelLoaded: boolean;\r\n  SectorId: string;\r\n\r\n  //delete  Model Controls\r\n  deleteSectorId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //multi tenant\r\n  adminWithMultitenanEnabled:boolean;\r\n  organizationOptions: DropdownOptions;\r\n  organizationsFilter: FilterItem;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  organizationList = [];\r\n  IsFilterDataLoaded: boolean = false;\r\n  addOrganizations:DropdownOptions;\r\n  editOrganizations:DropdownOptions;\r\n  @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n\r\n\r\n  constructor\r\n    (\r\n      private pageInfoService: PageInfoService,\r\n      public utilityService: UtilityService,\r\n      private environmentService: EnvironmentService,\r\n      private authService: AuthService,\r\n      private sectorService: SectorService,\r\n      private modalService: NgbModal,\r\n      private requestHandlerService: RequestHandlerService\r\n    ) {\r\n      this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n      let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n      this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Sectors\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    //initialize page\r\n    this.initializePage();\r\n    this.loadLists();\r\n  }\r\n\r\n  initializePage() {\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.extraClasses = \"Sectors\";\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.SectorPaging = new PagingOptions();\r\n    this.SectorPaging.actionPostURL = this.ApiUrl + 'GetSectorsByFilter';\r\n    this.SectorPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.SectorPaging.filters = [this.TextInputFilter];\r\n    this.SectorPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.SectorPaging.filters = this.SectorPaging.filters ?? [];\r\n      this.SectorPaging.dropdownFiltersControlNames = this.SectorPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.SectorPaging.filters.push(this.organizationsFilter);\r\n      this.SectorPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n      this.SectorPaging.resetFilterButtonName=\"sectorsFiltersBtn\";\r\n    }\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n\r\n  //Paging functions\r\n  setSectorListResult(result) {\r\n    this.sectorPagingResult = result;\r\n    this.filteredSectorPagingResult = this.sectorPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n   //#region Load lists for filters\r\n   loadLists() {\r\n      this.sectorService.loaddropdowns().subscribe((result) => {\r\n        let DropdownsResponseModel = result as any;\r\n        this.organizationList = DropdownsResponseModel.organizations;\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(DropdownsResponseModel.organizations);\r\n        let organizationsElement = this.organizationDDL;\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n      });\r\n  }\r\n  //#endregion\r\n  ///////////// Start add sector Part//////////////////////\r\n  showAddSectorModal(AddSectorModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.AddSectorForm = new FormGroup({});\r\n\r\n    this.AddSectorFormOptions = new FormOptions();\r\n    this.AddSectorFormOptions.formGroup = this.AddSectorForm;\r\n    this.AddSectorFormOptions.getModelFunction = this.getAddSectorModel;\r\n    this.AddSectorFormOptions.serviceSubmitFunction = this.getAddSectorFunction;\r\n    this.AddSectorFormOptions.pagingReference = this.pagingElement;\r\n\r\n\r\n    this.MultiLingualName = new MultiLingualTextBoxOptions();\r\n    this.MultiLingualName.name = \"Name\";\r\n    this.MultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.MultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.MultiLingualName.isRequired = true;\r\n    this.MultiLingualName.maxLength = 100;\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.addOrganizations = new DropdownOptions();\r\n      this.addOrganizations.name = \"organizationId\";\r\n      this.addOrganizations.labelKey = \"Organization\";\r\n      this.addOrganizations.selectedItems = null;\r\n      this.addOrganizations.dataSource = this.organizationList;\r\n      this.addOrganizations.singleSelection = true;\r\n      this.addOrganizations.allowSearchFilter = true;\r\n    }\r\n    this.modalService.open(AddSectorModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n\r\n  getAddSectorModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddSectorForm.value as any;\r\n    let addModel: SectorModel = new SectorModel();\r\n    addModel.Name = ResultModel.Name;\r\n    addModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.addOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddSectorFunction = (AddModel): Observable<any> => {\r\n    return this.sectorService.addSector(AddModel);\r\n  };\r\n  //////////// End of add sector part///////////////////////\r\n\r\n\r\n  ///////////Start of edit sector part//////////////////////\r\n  showEditSectorModal(sectorID: string, editSectorModal) {\r\n\r\n    this.EditSectorForm = new FormGroup({});\r\n\r\n    this.EditSectorFormOptions = new FormOptions();\r\n    this.EditSectorFormOptions.formGroup = this.EditSectorForm;\r\n    this.EditSectorFormOptions.getModelFunction = this.getEditSectorModel;\r\n    this.EditSectorFormOptions.serviceSubmitFunction = this.getEditSectorFunction;\r\n    this.EditSectorFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.sectorService.getEditSector(sectorID).subscribe((result: any) => {\r\n      let sector = result.model as any;\r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = sector.name.arabic;\r\n      name.english = sector.name.english;\r\n\r\n      this.EditMultiLingualName = new MultiLingualTextBoxOptions();\r\n      this.EditMultiLingualName.name = \"Name\";\r\n      this.EditMultiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditMultiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditMultiLingualName.isRequired = true;\r\n      this.EditMultiLingualName.value = name;\r\n      this.EditMultiLingualName.maxLength = 100;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.editOrganizations = new DropdownOptions();\r\n        this.editOrganizations.name = \"organizationId\";\r\n        this.editOrganizations.labelKey = \"Organization\";\r\n        this.editOrganizations.selectedItems = sector.organizationID_GUID;\r\n        this.editOrganizations.dataSource = this.organizationList;\r\n        this.editOrganizations.singleSelection = true;\r\n        this.editOrganizations.allowSearchFilter = true;\r\n      }\r\n\r\n      this.SectorId = sectorID;\r\n      this.modalService.open(editSectorModal);\r\n    });\r\n\r\n  }\r\n\r\n  getEditSectorModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditSectorForm.value as any;\r\n    let editModel: SectorModel = new SectorModel();\r\n    editModel.ID_GUID = this.SectorId;\r\n    editModel.Name = ResultModel.Name;\r\n    editModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.editOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditSectorFunction = (EditModel): Observable<any> => {\r\n    return this.sectorService.editSector(EditModel);\r\n  };\r\n  ///////////End of edit sector part//////////////////////\r\n\r\n  ///////////Start of delete sector part//////////////////////\r\n  showDeleteSectorModal(sectorId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deleteSectorId = sectorId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteSectorId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteSector;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteSector = (id: string): Observable<any> => {\r\n    return this.sectorService.deleteSector(id);\r\n  };\r\n  ///////////End of delete sector part//////////////////////\r\n\r\n  /**FunctionName:filterSectorList*/\r\n  /**Declaration:function to filter SectorList in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterSectorList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredSectorPagingResult = this.sectorPagingResult.filter(item => item.sectorName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredSectorPagingResult = this.sectorPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\" *ngIf=\"IsFilterLoaded\">\r\n      <div class=\"card-title align-items-start flex-column\">\r\n        <!--  (OnChange)=\"filterSectorList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"SectorForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <div *ngIf=\"adminWithMultitenanEnabled\" ngbDropdown class=\"d-inline-block\">\r\n          <button ngbDropdownToggle href=\"javascript:;\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\"\r\n            id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{ utilityService.getResourceValue('Filter') }}\r\n          </button>\r\n          <div ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"SectorForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div>\r\n                    <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                      [group]=\"SectorForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"sectorsFiltersBtn\">\r\n                    {{ utilityService.getResourceValue('Reset') }}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddSectorModal(AddSectorModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Departments\")}}</th>\r\n              <th *ngIf=\"adminWithMultitenanEnabled\" class=\"min-w-150px\">\r\n                {{ utilityService.getResourceValue('Organization') }}\r\n              </th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let Sector of filteredSectorPagingResult\">\r\n\r\n              <td>\r\n                <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Sectors/SectorInfo',Sector.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Sector.sectorName}}</a>\r\n\r\n              </td>\r\n              <td>{{Sector.departmentsCount}}</td>\r\n              <td *ngIf=\"adminWithMultitenanEnabled\">{{ Sector.organizationName ?? '-' }}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditSectorModal(Sector.iD_GUID,EditSectorModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteSectorModal(Sector.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredSectorPagingResult.length == 0\">\r\n              <td colspan=\"3\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::Permission list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setSectorListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"SectorPaging\"\r\n        [group]=\"SectorForm\" #SectorPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddSectorModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Sector\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"AddSectorFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"MultiLingualName\" [group]=\"AddSectorForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n        @if (adminWithMultitenanEnabled) {\r\n        <BBSF-DropdownList [options]=\"addOrganizations\" [group]=\"AddSectorForm\"></BBSF-DropdownList>\r\n        }\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseSectorModal id=\"CloseSectorModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditSectorModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Sector\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditSectorFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditMultiLingualName\"\r\n            [group]=\"EditSectorForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n        @if (adminWithMultitenanEnabled) {\r\n        <BBSF-DropdownList [options]=\"editOrganizations\" [group]=\"EditSectorForm\"></BBSF-DropdownList>\r\n        }\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditSectorModal id=\"CloseEditSectorModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","export class SectorDepartmentModel {\r\n  DepartmentIDs: string[] = []\r\n  SectorID: string;\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, FormOptions, InputType, PagingComponent, PagingOptions, TagsInputOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { SectorModel } from '../../shared/models/SectorModels/SectorModel';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SectorService } from '../../shared/Services/SectorService.service';\r\nimport { SectorDepartmentModel } from '../../shared/models/SectorModels/SectorDepartmentModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-sector-info',\r\n    templateUrl: './sector-info.component.html',\r\n    standalone: false\r\n})\r\nexport class SectorInfoComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.sectorService.ApiUrl;\r\n\r\n  //Parent Sector data\r\n  SectorId: string = \"\";\r\n  Sector: SectorModel = new SectorModel();\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  sectorIdTextBox: TextBoxOptions;\r\n  filterForm = new FormGroup({});\r\n  departmentSectorForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  departmentSectorPagingResult: any[] = [];\r\n  filteredDepartmentSectorPagingResult: any[] = [];\r\n  departmentSectorPaging: PagingOptions;\r\n  textInputFilter: FilterItem;\r\n  sectorIdTextInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n\r\n  @ViewChild('UserDepartmentSectorPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  addDepartmentToSectorForm = new FormGroup({});\r\n  addDepartmentToSectorFormOptions: FormOptions;\r\n  departmentAutoComplete: TagsInputOptions;\r\n  isAddDepartmentFormLoaded: boolean;\r\n\r\n\r\n\r\n  //delete  Model Controls\r\n  deleteDepartmentId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  constructor(\r\n    private authService: AuthService,\r\n    public utilityService: UtilityService,\r\n    private activatedRoute: ActivatedRoute,\r\n    private sectorService: SectorService,\r\n    private pageInfoService: PageInfoService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.SectorId = params['id'];\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    //initialize page\r\n    this.initializePage();\r\n\r\n  }\r\n\r\n  //Paging functions\r\n  setDepartmentSectorListResult(result) {\r\n    this.departmentSectorPagingResult = result;\r\n    this.filteredDepartmentSectorPagingResult = this.departmentSectorPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  initializePage() {\r\n    this.sectorService.getSectorInfo(this.SectorId).subscribe((result) => {\r\n      this.isFilterLoaded = false;\r\n      let resultModel = result as any;\r\n      PageInfoService.PageTitle = resultModel.val.sectorName;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Sectors\"), path: '/Admin/Sectors/Sector', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n      ];\r\n\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n\r\n      // TextBox inti\r\n      this.searchTextBox = new TextBoxOptions();\r\n      this.searchTextBox.name = \"searchTextBox\";\r\n      this.searchTextBox.hideLabel = true;\r\n      this.searchTextBox.type = InputType.Text;\r\n      this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n      this.sectorIdTextBox = new TextBoxOptions();\r\n      this.sectorIdTextBox.name = \"SectorIdTextBox\";\r\n      this.sectorIdTextBox.hideLabel = true;\r\n      this.sectorIdTextBox.type = InputType.Text;\r\n      this.sectorIdTextBox.value = this.SectorId;\r\n\r\n      this.textInputFilter = new FilterItem();\r\n      this.textInputFilter.formControlName = \"searchTextBox\";\r\n      this.textInputFilter.actionParameterName = \"searchText\";\r\n      this.textInputFilter.isFormControl = true;\r\n      this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n      this.sectorIdTextInputFilter = new FilterItem();\r\n      this.sectorIdTextInputFilter.formControlName = \"SectorIdTextBox\";\r\n      this.sectorIdTextInputFilter.actionParameterName = \"sectorId\";\r\n      this.sectorIdTextInputFilter.isFormControl = true;\r\n      this.sectorIdTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n      this.departmentSectorPaging = new PagingOptions();\r\n      this.departmentSectorPaging.actionPostURL = this.ApiUrl + 'GetDepartmentsByFilter';\r\n      this.departmentSectorPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"SectorIdTextBox\"];\r\n      this.departmentSectorPaging.filters = [this.textInputFilter, this.sectorIdTextInputFilter];\r\n      this.departmentSectorPaging.validationToken = this.authService.authorizationHeaderValue();\r\n      this.isFilterLoaded = true;\r\n\r\n    });\r\n  }\r\n\r\n\r\n  ///////////// Start add department to sector Part//////////////////////\r\n\r\n  showAddDepartmentToSectorModal(AddDepartmentToSectorModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.addDepartmentToSectorForm = new FormGroup({});\r\n\r\n    this.addDepartmentToSectorFormOptions = new FormOptions();\r\n    this.addDepartmentToSectorFormOptions.formGroup = this.addDepartmentToSectorForm;\r\n    this.addDepartmentToSectorFormOptions.getModelFunction = this.getAddDepartmentToSectorModel;\r\n    this.addDepartmentToSectorFormOptions.serviceSubmitFunction = this.getAddDepartmentToSectorFunction;\r\n    this.addDepartmentToSectorFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.departmentAutoComplete = new TagsInputOptions();\r\n    this.departmentAutoComplete.name = \"DepartmentIDs\";\r\n    this.departmentAutoComplete.labelKey = \"Departments\";\r\n    this.departmentAutoComplete.isRequired = true;\r\n    this.departmentAutoComplete.value = null;\r\n    this.departmentAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteDepartmentList\";\r\n    this.departmentAutoComplete.extraFilters=`sectorID=${this.SectorId}`\r\n    this.departmentAutoComplete.canDeleteTags = true;\r\n    this.modalService.open(AddDepartmentToSectorModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getAddDepartmentToSectorModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addDepartmentToSectorForm.value as any;\r\n    let AddModel: SectorDepartmentModel = new SectorDepartmentModel();\r\n    for (let index = 0; index < ResultModel.DepartmentIDs.length; index++) {\r\n      const key = ResultModel.DepartmentIDs[index].id;\r\n      AddModel.DepartmentIDs.push(key);\r\n\r\n    }\r\n    AddModel.SectorID = this.SectorId;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddDepartmentToSectorFunction = (AddModel): Observable<any> => {\r\n    return this.sectorService.addDepartmentsToSector(AddModel);\r\n  };\r\n\r\n  //////////// End of add department to sector part///////////////////////\r\n\r\n  ///////////Start of delete department from sector part//////////////////////\r\n  showDeleteDepartmentFromSectorModal(departmentId: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deleteDepartmentId = departmentId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteDepartmentId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteDepartment;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n\r\n  }\r\n\r\n  deleteDepartment = (id: string): Observable<any> => {\r\n    return this.sectorService.deleteDepartmentFromSector(id);\r\n  };\r\n  ///////////End of delete department from sector part//////////////////////\r\n\r\n  /**FunctionName:filterSectorList*/\r\n  /**Declaration:function to filter SectorList in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterDepartmentList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredDepartmentSectorPagingResult = this.departmentSectorPagingResult.filter(item => item.departmentName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredDepartmentSectorPagingResult = this.departmentSectorPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n\r\n\r\n}\r\n","<block-ui> </block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <BBSF-TextBox [hidden]=\"true\" [options]=\"sectorIdTextBox\" [group]=\"departmentSectorForm\">\r\n        </BBSF-TextBox>\r\n        <!--  (OnChange)=\"filterDepartmentList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"departmentSectorForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddDepartmentToSectorModal(AddDepartmentToSectorModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SamAccount\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"UsersCount\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let Department of filteredDepartmentSectorPagingResult\">\r\n\r\n              <td>\r\n                <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Sectors/DepartmentInfo',Department.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Department.departmentName}}</a>\r\n\r\n              </td>\r\n              <td>{{Department.samAccount}}</td>\r\n              <td>{{Department.usersCount}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeleteDepartmentFromSectorModal(Department.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredDepartmentSectorPagingResult.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setDepartmentSectorListResult($event)\" *ngIf=\"isFilterLoaded\"\r\n        [options]=\"departmentSectorPaging\" [group]=\"departmentSectorForm\" #UserDepartmentSectorPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddDepartmentToSectorModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Department\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addDepartmentToSectorFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TagsInput [options]=\"departmentAutoComplete\" [group]=\"addDepartmentToSectorForm\">\r\n          </BBSF-TagsInput>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseAddDepartmentToSector id=\"CloseAddDepartmentToSector\" type=\"button\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { Component, ElementRef, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, FormOptions, InputType, PagingComponent, PagingOptions, TagsInputOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { DepartmentModel } from '../../shared/models/DepartmentModels/DepartmentModel';\r\nimport { DepartmentUsersIDRequestModel } from '../../shared/models/DepartmentModels/DepartmentUsersIDRequestModel';\r\nimport { DataSecretService } from '../../shared/Services/data.service';\r\nimport { DepartmentService } from '../../shared/Services/DepartmentService.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-sectors-department-info',\r\n    templateUrl: './sectors-department-info.component.html',\r\n    standalone: false\r\n})\r\nexport class SectorsDepartmentInfoComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.departmentService.ApiUrl;\r\n\r\n  //Parent department data\r\n  DepartmentId: string = \"\";\r\n  Department: DepartmentModel = new DepartmentModel();\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  departmentIdTextBox: TextBoxOptions;\r\n  filterForm = new FormGroup({});\r\n  userDepartmentForm = new FormGroup({});\r\n  showFilter: boolean = false;\r\n  userDepartmentPagingResult: any[] = [];\r\n  filteredUserDepartmentPagingResult: any[] = [];\r\n  userDepartmentPaging: PagingOptions;\r\n  textInputFilter: FilterItem;\r\n  departmentIdTextInputFilter: FilterItem;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('UserDepartmentPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n  // Decorator wires up blockUI instance\r\n\r\n  //Add Model Controls\r\n  addUsersToDepartmentForm = new FormGroup({});\r\n  addUserToDepartmentFormOptions: FormOptions;\r\n  userAutoComplete: TagsInputOptions;\r\n\r\n  //delete  Model Controls\r\n  deleteUserId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  constructor(\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private activatedRoute: ActivatedRoute,\r\n    private authService: AuthService,\r\n    private departmentService: DepartmentService,\r\n    private pageInfoService: PageInfoService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService,\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.DepartmentId = params['id'];\r\n    });\r\n  }\r\n  ngOnInit(): void {\r\n    //Page header (breadcrumb and title)\r\n    this.loadBreadCrumpData();\r\n\r\n  }\r\n\r\n\r\n  //Paging functions\r\n  setUserDepartmentListResult(result) {\r\n    this.userDepartmentPagingResult = result;\r\n    this.filteredUserDepartmentPagingResult = this.userDepartmentPagingResult;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  //Get parent department name and set page title and breadcrumbs\r\n  loadBreadCrumpData() {\r\n    this.departmentService.getDepartmentInfo(this.DepartmentId).subscribe((result) => {\r\n      let resultModel = result as any;\r\n      PageInfoService.PageTitle = resultModel.val.departmentName;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Sectors\"), path: '/Admin/Sectors/Sector', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: resultModel.val.sectorName, path: `/Admin/Sectors/SectorInfo/${resultModel.val.sectorIdEncrypted}`, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n      //initialize page\r\n      this.initializePage();\r\n    });\r\n  }\r\n\r\n  initializePage() {\r\n    this.isFilterLoaded = false;\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByNameOrEmail\");\r\n\r\n    this.departmentIdTextBox = new TextBoxOptions();\r\n    this.departmentIdTextBox.name = \"DepartmentIdTextBox\";\r\n    this.departmentIdTextBox.hideLabel = true;\r\n    this.departmentIdTextBox.type = InputType.Text;\r\n    this.departmentIdTextBox.value = this.DepartmentId;\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.departmentIdTextInputFilter = new FilterItem();\r\n    this.departmentIdTextInputFilter.formControlName = \"DepartmentIdTextBox\";\r\n    this.departmentIdTextInputFilter.actionParameterName = \"departmentId\";\r\n    this.departmentIdTextInputFilter.isFormControl = true;\r\n    this.departmentIdTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.userDepartmentPaging = new PagingOptions();\r\n    this.userDepartmentPaging.actionPostURL = this.ApiUrl + 'GetUsersByFilter';\r\n    this.userDepartmentPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"DepartmentIdTextBox\"];\r\n    this.userDepartmentPaging.filters = [this.textInputFilter, this.departmentIdTextInputFilter];\r\n    this.userDepartmentPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.isFilterLoaded = true;\r\n  }\r\n\r\n\r\n  ///////////// Start add user Part//////////////////////\r\n  showAddUserToDepartmentModal(addUserToDepartmentModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.addUsersToDepartmentForm = new FormGroup({});\r\n    this.addUserToDepartmentFormOptions = new FormOptions();\r\n    this.addUserToDepartmentFormOptions.formGroup = this.addUsersToDepartmentForm;\r\n    this.addUserToDepartmentFormOptions.getModelFunction = this.getAddUserToDepartmentModel;\r\n    this.addUserToDepartmentFormOptions.serviceSubmitFunction = this.getAddUserToDepartmentFunction;\r\n    this.addUserToDepartmentFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.userAutoComplete = new TagsInputOptions();\r\n    this.userAutoComplete.name = \"UserAutoComplete\";\r\n    this.userAutoComplete.labelKey = \"Users\";\r\n    this.userAutoComplete.isRequired = true;\r\n    this.userAutoComplete.value = null;\r\n    this.userAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUserList\";\r\n    this.userAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n    this.modalService.open(addUserToDepartmentModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n\r\n  }\r\n\r\n  getAddUserToDepartmentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addUsersToDepartmentForm.value as any;\r\n    let AddModel: DepartmentUsersIDRequestModel = new DepartmentUsersIDRequestModel();\r\n    for (let index = 0; index < ResultModel.UserAutoComplete.length; index++) {\r\n      const key = ResultModel.UserAutoComplete[index].id;\r\n      AddModel.UsersIDs.push(key);\r\n    }\r\n    AddModel.DepartmentId = this.DepartmentId;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddUserToDepartmentFunction = (AddModel): Observable<any> => {\r\n    return this.departmentService.addUsersToDepartment(AddModel);\r\n  };\r\n\r\n  ///////////// End add sector Part//////////////////////\r\n\r\n\r\n  ///////////Start delete user from department//////////////////////\r\n  showDeleteUserFromDepartmentModal(encryptedUserId: string) {\r\n    this.deleteUserId = encryptedUserId;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteUserId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteUserFromDepartment;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteUserFromDepartment = (deleteUserId: string): Observable<any> => {\r\n    return this.departmentService.deleteUserFromDepartment(deleteUserId);\r\n  };\r\n  ///////////End delete user from department//////////////////////\r\n\r\n  /**FunctionName:filterUserDepartmentList */\r\n  /**Declaration:function to filter user Department List in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterUserDepartmentList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredUserDepartmentPagingResult = this.userDepartmentPagingResult.filter(item => item.userName.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredUserDepartmentPagingResult = this.userDepartmentPagingResult;\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <BBSF-TextBox [hidden]=\"true\" [options]=\"departmentIdTextBox\" [group]=\"userDepartmentForm\">\r\n        </BBSF-TextBox>\r\n        <!--  (OnChange)=\"filterUserDepartmentList($event)\" -->\r\n        <BBSF-TextBox [options]=\"searchTextBox\" (OnChange)=\"filterUserDepartmentList($event)\"\r\n          [group]=\"userDepartmentForm\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddUserToDepartmentModal(AddUserToDepartmentModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Email\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Roles\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let user of filteredUserDepartmentPagingResult\">\r\n\r\n              <td>\r\n                <span class=\"text-dark\">{{user.userName}}</span>\r\n              </td>\r\n              <td>{{user.email}}</td>\r\n              <td>{{user.userPermsets}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteUserFromDepartmentModal(user.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredUserDepartmentPagingResult.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setUserDepartmentListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"userDepartmentPaging\"\r\n        [group]=\"userDepartmentForm\" #UserDepartmentPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!--add Modal-->\r\n<ng-template #AddUserToDepartmentModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"User\")}} </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"addUserToDepartmentFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TagsInput [options]=\"userAutoComplete\" [group]=\"addUsersToDepartmentForm\">\r\n          </BBSF-TagsInput>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseAddUsersToDepartment id=\"CloseAddUsersToDepartment\" type=\"button\"\r\n          class=\"btn btn-light btn-sm  me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"deleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-sectors',\r\n    templateUrl: './sectors.component.html',\r\n    standalone: false\r\n})\r\nexport class SectorsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { SectorInfoComponent } from './sector-info/sector-info.component';\r\nimport { SectorComponent } from './sector/sector.component';\r\nimport { SectorsComponent } from './sectors.component';\r\nimport { SectorsDepartmentInfoComponent } from './sectors-department-info/sectors-department-info.component';\r\n\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {path :\"\",component:SectorsComponent ,children:[\r\n   {path:\"Sector\",component:SectorComponent},\r\n   {path:\"SectorInfo/:id\",component:SectorInfoComponent},\r\n   {path:\"DepartmentInfo/:id\",component:SectorsDepartmentInfoComponent},\r\n   {path:\"\", redirectTo: 'Sector', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class SectorsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SectorComponent } from './sector/sector.component';\r\nimport { SectorInfoComponent } from './sector-info/sector-info.component';\r\nimport { SectorsDepartmentInfoComponent } from './sectors-department-info/sectors-department-info.component';\r\nimport { SectorsComponent } from './sectors.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { SectorsRoutingModule } from './sectors-routing.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\nimport { SectorService } from '../shared/Services/SectorService.service';\r\n\r\n@NgModule({\r\n  declarations: [SectorsComponent, SectorComponent, SectorInfoComponent, SectorsDepartmentInfoComponent],\r\n  imports: [\r\n    SectorsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    SectorService,\r\n  ]\r\n})\r\nexport class SectorsModule { }\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BBSFAuthenticationConfiguration, ConfigurationDropdownModels, ConfigurationModel } from \"../models/ConfigurationModels/ConfigurationModel\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ConfigurationsService {\r\n  ApiUrl = \"/api/admin/Configuration/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loadDropdownForFilters() {\r\n    return this.http.get<ConfigurationDropdownModels>(`${this.ApiUrl}Loaddropdowns`);\r\n  }\r\n\r\n  //Add functions\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddConfiguration');\r\n  }\r\n  addConfiguration(AddModel: ConfigurationModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddConfiguration', AddModel);\r\n  }\r\n  //Edit Function\r\n  getEditConfigurationData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditConfiguration', params);\r\n  }\r\n  editConfiguration(EditModel: ConfigurationModel) {\r\n    return this.http.post(this.ApiUrl + 'EditConfiguration', EditModel);\r\n  }\r\n\r\n  //Delete function\r\n  deleteConfiguration(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteConfiguration', JSON.stringify(id));\r\n  }\r\n\r\n  //Required function for Add,Edit\r\n  loadLookupItems(Id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", Id);\r\n    return this.http.post(this.ApiUrl + 'LoadLookupItems', null, null, params);\r\n  }\r\n\r\n  loadSourceFunctionDropDownItems(sourceFunc: string) {\r\n    var options = new RequestOptionsModel();\r\n    options.disableErrorHandler = true;\r\n    return this.http.get(this.ApiUrl + sourceFunc, null, null, options);\r\n  }\r\n\r\n  reloadJsonFile() {\r\n    return this.http.get(this.ApiUrl + 'ReloadJsonFile');\r\n  }\r\n\r\n  //#region Authentication Configuration Methods\r\n\r\n  getAuthenticationConfigurationData() {\r\n    return this.http.get<BBSFAuthenticationConfiguration>(`${this.ApiUrl}get-authentication-configuration`);\r\n  }\r\n\r\n  updateAuthenticationConfigurationData(model: BBSFAuthenticationConfiguration) {\r\n    return this.http.post<void>(`${this.ApiUrl}update-authentication-configuration`, model);\r\n  }\r\n\r\n  //#endregion\r\n\r\n}\r\n","export enum AuthenticationMode {\r\n    Forms = 1,\r\n    UAEPass = 2,\r\n    WindowsAD = 3,\r\n    AzureAD = 4,\r\n}\r\n\r\nexport enum UAEPassUserTypes {\r\n    SOP1 = 1,\r\n    SOP2 = 2,\r\n    SOP3 = 3\r\n}\r\nexport enum UAEPassLinkingMode {\r\n    EIDOnly = 1,\r\n    EIDOrEmailAndMobile = 2,\r\n    EIDOrEmail = 3\r\n}","import { DropdownListItem, EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { AuthenticationMode, UAEPassLinkingMode, UAEPassUserTypes } from \"../../Enums/configuration/authentecation-configuration\";\r\n//#region utils\r\n\r\n\r\nexport class ConfigurationDropdownModels {\r\n  organization: DropdownListItem[] = [];\r\n}\r\n\r\n//#endregion\r\n\r\nexport class ConfigurationModel {\r\n  iD_GUID: string = undefined;\r\n  categoryID_GUID: string = undefined;\r\n  modifiedBy: string = undefined;\r\n  created: any = undefined;\r\n  modified: any = undefined;\r\n  key: string = undefined;\r\n  value: string = undefined;\r\n  textValue: string = undefined;\r\n  boolValue: boolean = undefined;\r\n  scopeID_GUID: string = undefined;\r\n  userID_GUID: string = undefined;\r\n  permissionSetID_GUID: string = undefined;\r\n  scopeName: string = undefined;\r\n  userName: string = undefined;\r\n  permissionSetName: string = undefined;\r\n  validationError: string = undefined;\r\n  valueTypeID_GUID: string = undefined;\r\n  valueSourceID_GUID: string = undefined;\r\n  selectedLookupID_GUID: string = undefined;\r\n  valueSourceName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  valueTypeName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  sourceFunctionName: string = undefined;\r\n  devMode: boolean = undefined;\r\n  isLoadInJson: boolean = undefined;\r\n  defaultValue: string = undefined;\r\n  defaultTextValue: string = undefined;\r\n  defaultBoolValue: boolean = undefined;\r\n  organizationID_GUID: string | null = undefined;\r\n}\r\n\r\n\r\nexport class BBSFAuthenticationConfiguration {\r\n  modeId: AuthenticationMode = undefined;\r\n  uaePassConfig: UAEPassConfiguration = new UAEPassConfiguration();\r\n  // WindowsAD\r\n  // AzureAD\r\n}\r\n\r\n\r\n\r\nexport class UAEPassConfiguration {\r\n  baseUrl: string = undefined;\r\n  clientID: string = undefined;\r\n  secretKey: string = undefined;\r\n  redirectUrl: string = undefined;\r\n  accessLevels: UAEPassUserTypes[] = [];\r\n  enableLinkingExistingUsers: boolean = false;\r\n  enableImportingNewUser: boolean = false;\r\n  enableUpdateUserInformationOnLogin: boolean = false;\r\n  defaultPermissionSet: string = undefined;\r\n  enableSOPPermissionMapping: boolean = false;\r\n  userTypePermissions: UAEPassUserTypePermission[] = [];\r\n  userInfoMapping: UAEPassUserInfoMapping = new UAEPassUserInfoMapping();\r\n  linkingMode: UAEPassLinkingMode = UAEPassLinkingMode.EIDOnly;\r\n  defaultPermissionSetLocalization: string = undefined;\r\n}\r\n\r\nexport class UAEPassUserTypePermission {\r\n  userType: UAEPassUserTypes;\r\n  permissions: string[] = [];\r\n}\r\n\r\nexport class UAEPassUserInfoMapping {\r\n  nameEN: boolean = false;\r\n  nameAR: boolean = false;\r\n  email: boolean = false;\r\n  eid: boolean = false;\r\n  mobile: boolean = false;\r\n  nationality: boolean = false;\r\n  gender: boolean = false;\r\n}\r\n\r\n\r\n","import { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AppBaseComponent, CheckBoxOptions, ControlLayout, DropdownOptions, FormOptions, InputType, TextBoxOptions, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { BBSFAuthenticationConfiguration, UAEPassConfiguration, UAEPassUserInfoMapping, UAEPassUserTypePermission } from '../../../shared/models/ConfigurationModels/ConfigurationModel';\r\nimport { AuthenticationMode, UAEPassLinkingMode, UAEPassUserTypes } from '../../../shared/Enums/configuration/authentecation-configuration';\r\nimport { ConfigurationsService } from '../../../shared/Services/ConfigurationsService.service';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UserService } from '../../../shared/Services/userService.service';\r\n\r\n@Component({\r\n    selector: 'auth-configuration-edit',\r\n    templateUrl: './auth-configuration-edit.component.html',\r\n    standalone: false\r\n})\r\nexport class EditAuthConfigurationComponent extends AppBaseComponent implements OnInit {\r\n  @Input() pagingElement;\r\n  @Input() onSuccessTakePenaltyHandler: Function;\r\n\r\n  editForm = new FormGroup({});\r\n  editFormOptions = new FormOptions();\r\n  @ViewChild(\"editModal\", { static: false }) modal: ElementRef;\r\n\r\n  modeId: number = undefined;\r\n  authenticationModeEnumValue = AuthenticationMode;\r\n\r\n  //#region uae pass props\r\n  baseURLTextBox: TextBoxOptions;\r\n  clientIdTextBox: TextBoxOptions;\r\n  secretKeyTextBox: TextBoxOptions;\r\n  redirectURLTextBox: TextBoxOptions;\r\n  accessLevelDropdown: DropdownOptions;\r\n  linkingModeDropdown: DropdownOptions;\r\n\r\n  linkingExistingUsersToggle: ToggleSlideOptions;\r\n  importingNewUserToggle: ToggleSlideOptions;\r\n  updateUserInformationOnLoginToggle: ToggleSlideOptions;\r\n  sopPermissionMappingToggle: ToggleSlideOptions;\r\n\r\n  userPermissionSetDropdown: DropdownOptions;\r\n  userPermissions: DropdownOptions;\r\n\r\n  uaePassConfigurationModel: UAEPassConfiguration = new UAEPassConfiguration();\r\n\r\n  permissionSetList = [];\r\n  permissionsList = [];\r\n\r\n  showUserTypePermissionsMapping: boolean = false;\r\n  showUserTypeLinkingMapping: boolean = false;\r\n  showImportingNewUserMapping: boolean = false;\r\n  uaePassUserTypeEnum: UAEPassUserTypes;\r\n  uaePassUserTypeList: any[] = [];\r\n  selectedAccessLevels: any[] = [];\r\n\r\n  //#region linking mapping\r\n  nameArCheckbox: CheckBoxOptions;\r\n  nameEnCheckbox: CheckBoxOptions;\r\n  emailCheckbox: CheckBoxOptions;\r\n  eIdCheckbox: CheckBoxOptions;\r\n  mobileCheckbox: CheckBoxOptions;\r\n  nationalityCheckbox: CheckBoxOptions;\r\n  genderCheckbox: CheckBoxOptions;\r\n  //#endregion\r\n\r\n  //#endregion\r\n\r\n  constructor(\r\n    private injector: Injector,\r\n    private masterLayoutService: MasterLayoutService,\r\n    private configurationsService: ConfigurationsService,\r\n    private userService: UserService,\r\n  ) {\r\n    super(injector);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  //#region helper\r\n\r\n  translate(key: string): string {\r\n    return this.utilityService.getResourceValue(key);\r\n  }\r\n\r\n  loadUAEPassUserTypes() {\r\n    let list: any[] = [];\r\n    for (var item in UAEPassUserTypes) {\r\n      if (parseInt(item))\r\n        list.push({\r\n          key: +item,\r\n          value: UAEPassUserTypes[item]\r\n        } as any);\r\n    }\r\n    this.uaePassUserTypeList = list;\r\n    return list;\r\n  }\r\n\r\n  loadUAEPassLinkingMode() {\r\n    let list: any[] = [];\r\n    for (var item in UAEPassLinkingMode) {\r\n      if (parseInt(item))\r\n        list.push({\r\n          key: +item,\r\n          value: this.translate(UAEPassLinkingMode[item])\r\n        } as any);\r\n    }\r\n    return list;\r\n  }\r\n\r\n  getUAEPassUserTypeValue(key: number) {\r\n    return this.uaePassUserTypeList.find(i => i.key == key).value;\r\n  }\r\n\r\n  //#endregion\r\n\r\n  showModal(mode: AuthenticationMode, authConfigObject: BBSFAuthenticationConfiguration) {\r\n    this.modeId = mode;\r\n    if (this.editForm) {\r\n      this.editForm.updateValueAndValidity();\r\n      this.editForm.reset();\r\n    }\r\n\r\n    this.editForm = new FormGroup({});\r\n    this.editFormOptions = new FormOptions();\r\n    this.editFormOptions.formGroup = this.editForm as any;\r\n    this.editFormOptions.pagingReference = this.pagingElement;\r\n    this.editFormOptions.getModelFunction = this.getAddModel;\r\n    this.editFormOptions.serviceSubmitFunction = this.getSubmitFunction;\r\n    this.editFormOptions.disableSuccessNotification = false;\r\n    this.editFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n\r\n    switch (mode) {\r\n      case AuthenticationMode.UAEPass:\r\n        this.initializeUAEPassForm(authConfigObject);\r\n        break;\r\n      case AuthenticationMode.AzureAD:\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n    this.modalService.open(this.modal, { size: 'xl' } as NgbModalOptions);\r\n  }\r\n\r\n  initializeUAEPassForm(authConfigObject: BBSFAuthenticationConfiguration) {\r\n    this.uaePassConfigurationModel = authConfigObject.uaePassConfig;\r\n\r\n    this.baseURLTextBox = new TextBoxOptions();\r\n    this.baseURLTextBox.name = \"baseUrl\";\r\n    this.baseURLTextBox.labelKey = \"BaseUrl\";\r\n    this.baseURLTextBox.type = InputType.Text;\r\n    this.baseURLTextBox.viewType = ControlLayout.Vertical;\r\n    this.baseURLTextBox.value = this.uaePassConfigurationModel.baseUrl;\r\n\r\n    this.clientIdTextBox = new TextBoxOptions();\r\n    this.clientIdTextBox.name = \"clientID\";\r\n    this.clientIdTextBox.labelKey = \"ClientID\";\r\n    this.clientIdTextBox.type = InputType.Text;\r\n    this.clientIdTextBox.viewType = ControlLayout.Vertical;\r\n    this.clientIdTextBox.value = this.uaePassConfigurationModel.clientID;\r\n\r\n    this.secretKeyTextBox = new TextBoxOptions();\r\n    this.secretKeyTextBox.name = \"secretKey\";\r\n    this.secretKeyTextBox.labelKey = \"SecretKey\";\r\n    this.secretKeyTextBox.type = InputType.Text;\r\n    this.secretKeyTextBox.viewType = ControlLayout.Vertical;\r\n    this.secretKeyTextBox.value = this.uaePassConfigurationModel.secretKey;\r\n\r\n    this.redirectURLTextBox = new TextBoxOptions();\r\n    this.redirectURLTextBox.name = \"redirectUrl\";\r\n    this.redirectURLTextBox.labelKey = \"RedirectUrl\";\r\n    this.redirectURLTextBox.type = InputType.Text;\r\n    this.redirectURLTextBox.viewType = ControlLayout.Vertical;\r\n    this.redirectURLTextBox.value = this.uaePassConfigurationModel.redirectUrl;\r\n\r\n    this.accessLevelDropdown = new DropdownOptions();\r\n    this.accessLevelDropdown.name = \"accessLevels\";\r\n    this.accessLevelDropdown.labelKey = \"AccessLevel\";\r\n    this.accessLevelDropdown.singleSelection = false;\r\n    this.accessLevelDropdown.selectedItems = this.uaePassConfigurationModel.accessLevels;\r\n    this.accessLevelDropdown.dataSource = this.loadUAEPassUserTypes();\r\n\r\n    this.linkingModeDropdown = new DropdownOptions();\r\n    this.linkingModeDropdown.name = \"linkingMode\";\r\n    this.linkingModeDropdown.labelKey = \"LinkingMode\";\r\n    this.linkingModeDropdown.singleSelection = true;\r\n    this.linkingModeDropdown.selectedItems = this.uaePassConfigurationModel.linkingMode;\r\n    this.linkingModeDropdown.dataSource = this.loadUAEPassLinkingMode();\r\n\r\n    this.sopPermissionMappingToggle = new ToggleSlideOptions();\r\n    this.sopPermissionMappingToggle.name = \"sopPermissionMapping\";\r\n    this.sopPermissionMappingToggle.labelKey = \"SOPPermissionMapping\";\r\n    this.sopPermissionMappingToggle.value = this.uaePassConfigurationModel.enableSOPPermissionMapping;\r\n    this.onChangeSOPPermissionToggleValue(this.uaePassConfigurationModel.enableSOPPermissionMapping);\r\n\r\n    this.linkingExistingUsersToggle = new ToggleSlideOptions();\r\n    this.linkingExistingUsersToggle.name = \"linkingExistingUsers\";\r\n    this.linkingExistingUsersToggle.labelKey = \"EnableLinkingExistingUsers\";\r\n    this.linkingExistingUsersToggle.value = this.uaePassConfigurationModel.enableLinkingExistingUsers;\r\n    this.onLinkingExistingUsersToggleValue(this.uaePassConfigurationModel.enableLinkingExistingUsers);\r\n\r\n    this.importingNewUserToggle = new ToggleSlideOptions();\r\n    this.importingNewUserToggle.name = \"importingNewUser\";\r\n    this.importingNewUserToggle.labelKey = \"EnableImportingNewUser\";\r\n    this.importingNewUserToggle.value = this.uaePassConfigurationModel.enableImportingNewUser;\r\n    this.onChangeImportingNewUserToggle(this.uaePassConfigurationModel.enableImportingNewUser, true);\r\n\r\n    this.updateUserInformationOnLoginToggle = new ToggleSlideOptions();\r\n    this.updateUserInformationOnLoginToggle.name = \"updateUserInformationOnLogin\";\r\n    this.updateUserInformationOnLoginToggle.labelKey = \"EnableUpdateUserInformationOnLogin\";\r\n    this.updateUserInformationOnLoginToggle.value = this.uaePassConfigurationModel.enableUpdateUserInformationOnLogin;\r\n\r\n    this.userPermissionSetDropdown = new DropdownOptions();\r\n    this.userPermissionSetDropdown.name = \"PermissionSets\";\r\n    this.userPermissionSetDropdown.labelKey = \"PermissionSets\";\r\n    this.userPermissionSetDropdown.selectedItems = this.uaePassConfigurationModel.defaultPermissionSet;\r\n    this.userPermissionSetDropdown.singleSelection = true;\r\n    this.userPermissionSetDropdown.allowSearchFilter = true;\r\n    this.userPermissionSetDropdown.isRequired = true;\r\n\r\n    this.nameArCheckbox = new CheckBoxOptions();\r\n    this.nameArCheckbox.name = \"nameAr\";\r\n    this.nameArCheckbox.labelKey = \"NameAR\";\r\n    this.nameArCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.nameAR;\r\n\r\n    this.nameEnCheckbox = new CheckBoxOptions();\r\n    this.nameEnCheckbox.name = \"nameEn\";\r\n    this.nameEnCheckbox.labelKey = \"NameEN\";\r\n    this.nameEnCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.nameEN;\r\n\r\n    this.emailCheckbox = new CheckBoxOptions();\r\n    this.emailCheckbox.name = \"email\";\r\n    this.emailCheckbox.labelKey = \"Email\";\r\n    this.emailCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.email;\r\n\r\n    this.eIdCheckbox = new CheckBoxOptions();\r\n    this.eIdCheckbox.name = \"eId\";\r\n    this.eIdCheckbox.labelKey = \"EID\";\r\n    this.eIdCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.eid;\r\n\r\n    this.mobileCheckbox = new CheckBoxOptions();\r\n    this.mobileCheckbox.name = \"mobile\";\r\n    this.mobileCheckbox.labelKey = \"Mobile\";\r\n    this.mobileCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.mobile;\r\n\r\n    this.nationalityCheckbox = new CheckBoxOptions();\r\n    this.nationalityCheckbox.name = \"nationality\";\r\n    this.nationalityCheckbox.labelKey = \"Nationality\";\r\n    this.nationalityCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.nationality;\r\n\r\n    this.genderCheckbox = new CheckBoxOptions();\r\n    this.genderCheckbox.name = \"gender\";\r\n    this.genderCheckbox.labelKey = \"Gender\";\r\n    this.genderCheckbox.value = this.uaePassConfigurationModel.userInfoMapping.gender;\r\n\r\n    this.getPermissionSets();\r\n    this.onChangeSOPPermissionToggleValue(this.uaePassConfigurationModel.enableSOPPermissionMapping);\r\n    this.onLinkingExistingUsersToggleValue(this.uaePassConfigurationModel.enableLinkingExistingUsers);\r\n    this.onChangeAccessLevels(this.uaePassConfigurationModel.accessLevels);\r\n\r\n    if (this.uaePassConfigurationModel.defaultPermissionSet)\r\n      this.changePermissionSet(this.uaePassConfigurationModel.defaultPermissionSet);\r\n  }\r\n\r\n  getAddModel = () => {\r\n    let resultModel = this.editForm.value as any;\r\n    let editModel: BBSFAuthenticationConfiguration = new BBSFAuthenticationConfiguration();\r\n    editModel.modeId = this.modeId;\r\n    editModel.uaePassConfig = this.buildUAEPassConfigObject(resultModel);\r\n    return Array(editModel);\r\n  };\r\n\r\n  getSubmitFunction = (editModel: BBSFAuthenticationConfiguration): Observable<any> => {\r\n    return this.configurationsService.updateAuthenticationConfigurationData(editModel);\r\n  };\r\n\r\n  onSuccessHandler = (): void => {\r\n    this.masterLayoutService.reloadComponent();\r\n  };\r\n\r\n  buildUAEPassConfigObject(formValue: any): UAEPassConfiguration {\r\n    return {\r\n      baseUrl: formValue[this.baseURLTextBox.name],\r\n      clientID: formValue[this.clientIdTextBox.name],\r\n      secretKey: formValue[this.secretKeyTextBox.name],\r\n      redirectUrl: formValue[this.redirectURLTextBox.name],\r\n      accessLevels: formValue[this.accessLevelDropdown.name],\r\n      enableLinkingExistingUsers: formValue[this.linkingExistingUsersToggle.name],\r\n      enableImportingNewUser: formValue[this.importingNewUserToggle.name],\r\n      enableUpdateUserInformationOnLogin: formValue[this.updateUserInformationOnLoginToggle.name],\r\n      defaultPermissionSet: formValue[this.userPermissionSetDropdown.name],\r\n      enableSOPPermissionMapping: formValue[this.sopPermissionMappingToggle.name],\r\n      userTypePermissions: this.buildUserTypePermission(),\r\n      userInfoMapping: this.buildUserInfoMapping(formValue),\r\n      linkingMode: formValue[this.linkingModeDropdown.name],\r\n    } as UAEPassConfiguration;\r\n  }\r\n\r\n  buildUserInfoMapping(formValue: any) {\r\n    return {\r\n      nameEN: formValue[this.nameEnCheckbox.name],\r\n      nameAR: formValue[this.nameArCheckbox.name],\r\n      email: formValue[this.emailCheckbox.name],\r\n      eid: formValue[this.eIdCheckbox.name],\r\n      mobile: formValue[this.mobileCheckbox.name],\r\n      nationality: formValue[this.nationalityCheckbox.name],\r\n      gender: formValue[this.genderCheckbox.name]\r\n    } as UAEPassUserInfoMapping;\r\n  }\r\n\r\n  buildUserTypePermission(): UAEPassUserTypePermission[] {\r\n    let resList: UAEPassUserTypePermission[] = [];\r\n    if (this.showUserTypePermissionsMapping) {\r\n      this.selectedAccessLevels.forEach(level => {\r\n        resList.push({\r\n          userType: level,\r\n          permissions: this.editForm.controls[`permissions-user-type-${level}`]?.value,\r\n        } as UAEPassUserTypePermission);\r\n      });\r\n    }\r\n\r\n    return resList;\r\n  }\r\n\r\n  //#region UAE Pass Functions\r\n\r\n  onLinkingExistingUsersToggleValue(value: any) {\r\n    this.showUserTypeLinkingMapping = value;\r\n    if (this.showUserTypeLinkingMapping)\r\n      this.addRequiredValidation([this.linkingModeDropdown], this.editForm, this.editFormOptions);\r\n    else\r\n      this.removeRequiredValidation([this.linkingModeDropdown], this.editForm, this.editFormOptions);\r\n\r\n  }\r\n\r\n  onChangeImportingNewUserToggle(value: any, isInit: boolean = false) {\r\n    this.showImportingNewUserMapping = value;\r\n    if (isInit)\r\n      return;\r\n\r\n    if (this.showImportingNewUserMapping) {\r\n      this.addRequiredValidation([this.userPermissionSetDropdown], this.editForm, this.editFormOptions);\r\n    } else {\r\n      this.selectedAccessLevels.forEach(level => {\r\n        this.removeControl(`permissions-user-type-${level}`, this.editForm);\r\n      });\r\n      this.removeRequiredValidation([this.userPermissionSetDropdown], this.editForm, this.editFormOptions);\r\n    }\r\n  }\r\n\r\n  onChangeSOPPermissionToggleValue(value: any) {\r\n    this.showUserTypePermissionsMapping = value;\r\n    if (!this.showUserTypePermissionsMapping) {\r\n      this.selectedAccessLevels.forEach(level => {\r\n        this.removeControl(`permissions-user-type-${level}`, this.editForm);\r\n      });\r\n    }\r\n  }\r\n\r\n  changePermissionSet(id: any) {\r\n    if (!id) {\r\n      this.permissionsList = [];\r\n      return;\r\n    }\r\n\r\n    let ids = Array(id);\r\n    this.userService.LoadPermissionsDropDown(ids).subscribe((result) => {\r\n      this.permissionsList = result as any;\r\n    });\r\n  }\r\n\r\n  getPermissionSets() {\r\n    this.userService.getPermissionSetsList().subscribe(res => {\r\n      this.permissionSetList = res.permessionsets;\r\n      this.userPermissionSetDropdown.dataSource = this.permissionSetList;\r\n    });\r\n  }\r\n\r\n  initDropDownOptions(userType: any) {\r\n    var permissionDropDownOptions = new DropdownOptions();\r\n    permissionDropDownOptions.name = `permissions-user-type-${userType}`;\r\n    permissionDropDownOptions.labelValue = this.translate(UAEPassUserTypes[userType]) + \"-\" + this.translate(\"Permissions\");\r\n    permissionDropDownOptions.isRequired = false;\r\n    permissionDropDownOptions.viewType = ControlLayout.Vertical;\r\n    permissionDropDownOptions.dataSource = this.permissionsList;\r\n    permissionDropDownOptions.selectedItems = this.setPermissionForUAEPassUserTypes(userType);\r\n\r\n    return permissionDropDownOptions;\r\n  }\r\n\r\n  onChangeAccessLevels(selectedItems: any) {\r\n    let userTypesKeys = this.uaePassUserTypeList.map(item => { return item.key; });\r\n    this.selectedAccessLevels = selectedItems;\r\n\r\n    let notSelected = this.selectedAccessLevels.filter(item => userTypesKeys.indexOf(item) < 0);\r\n    notSelected.forEach(i => {\r\n      this.removeControl(`permissions-user-type-${i}`, this.editForm);\r\n    });\r\n\r\n  }\r\n\r\n  setPermissionForUAEPassUserTypes(userType: number) {\r\n    return this.uaePassConfigurationModel.userTypePermissions.find(i => i.userType == userType)?.permissions;\r\n  }\r\n  //#endregion\r\n\r\n\r\n  //#region validation actions\r\n\r\n  addRequiredValidation(customControlOption: any[], form: FormGroup, formOptions: FormOptions): void {\r\n    customControlOption.forEach(control => {\r\n      if (form.get(control.name))\r\n        this.addRequiredRule(form.get(control.name), formOptions);\r\n      else\r\n        control.IsRequired = true;\r\n    });\r\n  }\r\n\r\n  removeRequiredValidation(customControlOption: any[], form: FormGroup, formOptions: FormOptions): void {\r\n    customControlOption.forEach(control => {\r\n      if (form.get(control.name))\r\n        this.removeRequiredRule(form.get(control.name), formOptions);\r\n      else\r\n        control.IsRequired = false;\r\n    });\r\n  }\r\n\r\n  resetFormControlsValue(customControlsOptions: any[], form: FormGroup): void {\r\n    customControlsOptions.forEach(option => {\r\n      let formControl = form.get(option.name);\r\n      if (formControl)\r\n        formControl.reset();\r\n    });\r\n  }\r\n\r\n  //#endregion\r\n}\r\n\r\n\r\n","<ng-template #editModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{ translate('EditAuthConfiguration') }}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-4 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/close-modal.svg'\"></div>\r\n    </button>\r\n  </div>\r\n  <BBSF-Form [options]=\"editFormOptions\">\r\n    <div class=\"modal-body\">\r\n      <ng-container *ngIf=\"modeId == authenticationModeEnumValue.UAEPass\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"baseURLTextBox\" [group]=\"editForm\"></BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"clientIdTextBox\" [group]=\"editForm\"></BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"secretKeyTextBox\" [group]=\"editForm\"></BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"redirectURLTextBox\" [group]=\"editForm\"></BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-DropdownList (onChange)=\"onChangeAccessLevels($event)\" [options]=\"accessLevelDropdown\"\r\n              [group]=\"editForm\"></BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-4\">\r\n            <BBSF-Toggleslide [options]=\"importingNewUserToggle\" [group]=\"editForm\"\r\n              (onChange)=\"onChangeImportingNewUserToggle($event)\"></BBSF-Toggleslide>\r\n          </div>\r\n          <div class=\"col-md-4\">\r\n            <BBSF-Toggleslide [options]=\"linkingExistingUsersToggle\"\r\n              (onChange)=\"onLinkingExistingUsersToggleValue($event)\" [group]=\"editForm\"></BBSF-Toggleslide>\r\n          </div>\r\n          <div class=\"col-md-4\">\r\n            <BBSF-Toggleslide [options]=\"updateUserInformationOnLoginToggle\" [group]=\"editForm\"></BBSF-Toggleslide>\r\n          </div>\r\n        </div>\r\n\r\n        <ng-container *ngIf=\"showImportingNewUserMapping\">\r\n          <div class=\"row\">\r\n            <fieldset\r\n              style=\"border: 2px solid #007bff; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; position: relative;\">\r\n              <legend\r\n                style=\"font-size: 1rem; font-weight: 600; color: #007bff; width: auto; padding: 0 10px; margin-bottom: 0;\">\r\n                {{ translate('EnableImportingNewUser') }}</legend>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-DropdownList (onChange)=\"changePermissionSet($event)\" [options]=\"userPermissionSetDropdown\"\r\n                  [group]=\"editForm\"></BBSF-DropdownList>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-Toggleslide (onChange)=\"onChangeSOPPermissionToggleValue($event)\"\r\n                  [options]=\"sopPermissionMappingToggle\" [group]=\"editForm\"></BBSF-Toggleslide>\r\n              </div>\r\n              <div class=\"configuration-header\" *ngIf=\"showUserTypePermissionsMapping\">\r\n                <h5>{{ translate('AccessLevelsPermissionMapping') }}</h5>\r\n                <div class=\"row\">\r\n                  <div class=\"col-md-6\" *ngFor=\"let level of selectedAccessLevels\">\r\n                    <BBSF-DropdownList [options]=\"initDropDownOptions(level)\" [group]=\"editForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </fieldset>\r\n          </div>\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"showUserTypeLinkingMapping\">\r\n          <div class=\"configuration-header\">\r\n            <h5>{{ translate('LinkingOptions') }}</h5>\r\n            <div class=\"row\">\r\n              <div class=\"col-md-6\">\r\n                <BBSF-DropdownList [options]=\"linkingModeDropdown\" [group]=\"editForm\"></BBSF-DropdownList>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"configuration-header\">\r\n            <h5>{{ translate('LinkingAttributesOptions') }}</h5>\r\n            <div class=\"row\">\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"nameArCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"nameEnCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"emailCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"eIdCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"mobileCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"nationalityCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n              <div class=\"col-md-6\">\r\n                <BBSF-CheckBox [options]=\"genderCheckbox\" [group]=\"editForm\"></BBSF-CheckBox>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n      <div class=\"row\" *ngIf=\"modeId == authenticationModeEnumValue.AzureAD\"></div>\r\n    </div>\r\n    <div class=\"modal-footer\">\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\" (click)=\"modal.dismiss()\">\r\n        {{ translate('Cancel') }}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\" class=\"btn btn-sm btn-brand\">\r\n        {{ translate('Save') }}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n</ng-template>","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FilterItem, TextBoxOptions, ConfirmationModalOptions, StyleConfirmationMode, AppBaseComponent, ConfirmationModalComponent } from '@bnsights/bbsf-controls';\r\nimport { ConfigurationsService } from '../../shared/Services/ConfigurationsService.service';\r\nimport { BBSFAuthenticationConfiguration, UAEPassConfiguration } from '../../shared/models/ConfigurationModels/ConfigurationModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { UtilityService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { EditAuthConfigurationComponent } from './auth-configuration-edit/auth-configuration-edit.component';\r\nimport { AuthenticationMode, UAEPassLinkingMode, UAEPassUserTypes } from '../../shared/Enums/configuration/authentecation-configuration';\r\n\r\n@Component({\r\n    selector: 'lib-auth-configuration',\r\n    templateUrl: './auth-configuration.component.html',\r\n    standalone: false\r\n})\r\nexport class AuthenticationConfigurationComponent extends AppBaseComponent implements OnInit {\r\n\r\n  //#region props\r\n  authenticationConfigurationModel: BBSFAuthenticationConfiguration = new BBSFAuthenticationConfiguration();\r\n  uaePassConfiguration: UAEPassConfiguration = new UAEPassConfiguration();\r\n  uaePassConfigurationIsLoaded: boolean = false;\r\n  authenticationModeEnumValues = AuthenticationMode;\r\n\r\n  uaePassLinkingModeEnum: UAEPassLinkingMode;\r\n  uaePassUserTypeEnum: UAEPassUserTypes;\r\n\r\n  uaePassUserTypeList: any[] = [];\r\n  uaePassLinkingModeList: any[] = [];\r\n  //#endregion\r\n\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Configuration/\";\r\n  ProductionMode: boolean;\r\n\r\n  //Filter and paging components\r\n  ConfigurationForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  clientSidePagingResult: any[] = [];\r\n\r\n  //delete  Model Controls\r\n  deleteConfigurationId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //Reload Json Model Controls\r\n  reloadConfirmationOptions: ConfirmationModalOptions;\r\n  reloadControlLoaded: boolean = false;\r\n\r\n  @ViewChild('reloadConfirmationModalControl', { static: false })\r\n  reloadConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  @ViewChild(\"editAuthConfigurationModal\", { static: false })\r\n  editBoardMemberModal: EditAuthConfigurationComponent;\r\n\r\n\r\n  constructor(private injector: Injector,\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private ConfigurationsService: ConfigurationsService,\r\n    private requestHandlerService: RequestHandlerService) {\r\n    super(injector);\r\n  }\r\n\r\n  //#region Events\r\n  ngOnInit(): void {\r\n    PageInfoService.PageTitle = this.translate(\"AuthenticationConfiguration\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      {\r\n        title: this.translate(\"Home\"),\r\n        path: '/Admin/Home',\r\n        isSeparator: false,\r\n        isActive: false\r\n      },\r\n      {\r\n        title: '',\r\n        path: '',\r\n        isSeparator: true,\r\n        isActive: false\r\n      }\r\n    ];\r\n\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n\r\n    this.initializePage();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n  //#endregion\r\n\r\n\r\n  //#region helper\r\n\r\n  translate(key: string): string {\r\n    return this.utilityService.getResourceValue(key);\r\n  }\r\n\r\n  showEditModal = (mode: AuthenticationMode) => {\r\n    this.editBoardMemberModal.showModal(mode, this.authenticationConfigurationModel);\r\n  };\r\n\r\n  loadUAEPassUserTypes() {\r\n    let list: any[] = [];\r\n    for (var item in UAEPassUserTypes) {\r\n      if (parseInt(item))\r\n        list.push({\r\n          key: +item,\r\n          value: UAEPassUserTypes[item]\r\n        } as any);\r\n    }\r\n    this.uaePassUserTypeList = list;\r\n  }\r\n\r\n  loadUAEPassLinkingMode() {\r\n    let list: any[] = [];\r\n    for (var item in UAEPassLinkingMode) {\r\n      if (parseInt(item))\r\n        list.push({\r\n          key: +item,\r\n          value: this.translate(UAEPassLinkingMode[item])\r\n        } as any);\r\n    }\r\n    this.uaePassLinkingModeList = list;\r\n  }\r\n\r\n  getUAEPassUserTypeValue(key: number) {\r\n    return this.uaePassUserTypeList.find(i => i.key == key).value;\r\n  }\r\n\r\n  getUAEPassLinkingModeValue(key: number) {\r\n    return this.uaePassLinkingModeList.find(i => i.key == key).value;\r\n  }\r\n\r\n  //#endregion\r\n\r\n  initializePage() {\r\n    this.loadUAEPassConfigurations();\r\n    this.loadUAEPassUserTypes();\r\n    this.loadUAEPassLinkingMode();\r\n  }\r\n\r\n  //#region Start of  Reload Resource part\r\n  showReloadResourceModal() {\r\n    this.reloadControlLoaded = false;\r\n    this.reloadConfirmationOptions = new ConfirmationModalOptions();\r\n    this.reloadConfirmationOptions.serviceSubmitFunction = this.reloadJsonFunction;\r\n    this.reloadConfirmationOptions.confirmationBody = this.translate(\"ReloadConfigurationsConfirmation\");\r\n    this.reloadConfirmationOptions.confirmationHeader = this.translate(\"ReloadConfigurations\");\r\n    this.reloadConfirmationOptions.submitButtonText = this.translate(\"Reload\");\r\n    this.reloadConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Danger;\r\n    this.reloadConfirmationOptions.successNotificationMessage = this.translate(\"SuccessMessage\");\r\n    this.reloadControlLoaded = true;\r\n\r\n    setTimeout(() => {\r\n      this.reloadConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  reloadJsonFunction = (): Observable<any> => {\r\n    return this.ConfigurationsService.reloadJsonFile();\r\n  };\r\n  //#endregion\r\n\r\n\r\n  //#region UAEPass Functions\r\n\r\n  loadUAEPassConfigurations() {\r\n    this.uaePassConfigurationIsLoaded = false;\r\n    this.ConfigurationsService.getAuthenticationConfigurationData()\r\n      .subscribe(res => {\r\n        this.authenticationConfigurationModel = res;\r\n        this.uaePassConfiguration = res.uaePassConfig;\r\n        this.uaePassConfigurationIsLoaded = true;\r\n      });\r\n  }\r\n\r\n\r\n\r\n  //#endregion\r\n\r\n  //#region AzureADConfigurationData\r\n\r\n  loadAzureADConfigurationConfigurations() {\r\n\r\n  }\r\n\r\n  //#endregion\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-body\">\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder\">\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadUAEPassConfigurations()\">{{\r\n            utilityService.getResourceValue('UAEPassConfigurationData')\r\n          }}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\" *ngIf=\"uaePassConfigurationIsLoaded\">\r\n              <div class=\"card-body py-3 px-0\">\r\n                <div class=\"col-xl-12 mb-10\">\r\n                  <div class=\"d-flex h-100 align-items-center\">\r\n                    <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light py-10 px-10 h-100\">\r\n                      <div class=\"w-100 mb-10\">\r\n                        <div class=\"d-flex align-items-center mb-5\">\r\n                          <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n                            <div class=\"row mt-4\">\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('BaseUrl') }}</p>\r\n                                  <span>{{ uaePassConfiguration.baseUrl }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('ClientID') }}</p>\r\n                                  <span>{{ uaePassConfiguration.clientID }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('RedirectUrl') }}</p>\r\n                                  <span>{{ uaePassConfiguration.redirectUrl }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('DefaultPermissionSet') }}</p>\r\n                                  <span>{{ uaePassConfiguration.defaultPermissionSetLocalization }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('AccessLevels') }}</p>\r\n                                  <span *ngFor=\"let level of uaePassConfiguration.accessLevels\">{{ getUAEPassUserTypeValue(level) }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('EnableLinkingExistingUsers') }}</p>\r\n                                  <span>{{\r\n                                    uaePassConfiguration.enableLinkingExistingUsers\r\n                                      ? utilityService.getResourceValue('True')\r\n                                      : utilityService.getResourceValue('False')\r\n                                  }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('EnableImportingNewUser') }}</p>\r\n                                  <span>{{\r\n                                    uaePassConfiguration.enableImportingNewUser\r\n                                      ? utilityService.getResourceValue('True')\r\n                                      : utilityService.getResourceValue('False')\r\n                                  }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('EnableUpdateUserInformationOnLogin') }}</p>\r\n                                  <span>{{\r\n                                    uaePassConfiguration.enableUpdateUserInformationOnLogin\r\n                                      ? utilityService.getResourceValue('True')\r\n                                      : utilityService.getResourceValue('False')\r\n                                  }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('EnableSOPPermissionMapping') }}</p>\r\n                                  <span>{{\r\n                                    uaePassConfiguration.enableSOPPermissionMapping\r\n                                      ? utilityService.getResourceValue('True')\r\n                                      : utilityService.getResourceValue('False')\r\n                                  }}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"col-md-6\" *ngIf=\"uaePassConfiguration.enableLinkingExistingUsers\">\r\n                                <div class=\"readOnly-view\">\r\n                                  <p>{{ utilityService.getResourceValue('LinkingMode') }}</p>\r\n                                  <span>{{ getUAEPassLinkingModeValue(uaePassConfiguration.linkingMode) }}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"d-flex justify-content-end w-100\">\r\n                        <a\r\n                          (click)=\"showEditModal(authenticationModeEnumValues.UAEPass)\"\r\n                          routerLinkActive=\"router-link-active\"\r\n                          class=\"btn btn-primary btn-sm\">\r\n                          Edit <i class=\"fa fa-pen ms-1\"></i>\r\n                        </a>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadAzureADConfigurationConfigurations()\">{{\r\n            utilityService.getResourceValue('AzureADConfigurationData')\r\n          }}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-body py-3 px-0\">\r\n                <p>\r\n                  Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse.\r\n                  Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater\r\n                  eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american\r\n                  apparel, butcher voluptate nisi qui.\r\n                </p>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n      </ul>\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<auth-configuration-edit #editAuthConfigurationModal></auth-configuration-edit>\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"reloadControlLoaded\"\r\n  [options]=\"reloadConfirmationOptions\"\r\n  id=\"reloadConfirmationModalControl\"\r\n  #reloadConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, FilterItem, FilterType, InputType, PagingOptions, TextBoxOptions, DropdownOptions, ToggleSlideOptions, FormOptions, ConfirmationModalOptions, PagingActionMode, StyleConfirmationMode, PagingComponent, ConfirmationModalComponent, DropdownListComponent, PermissionSets, DropdownListItem } from '@bnsights/bbsf-controls';\r\nimport { ConfigurationsService } from '../../shared/Services/ConfigurationsService.service';\r\nimport { ConfigurationModel } from '../../shared/models/ConfigurationModels/ConfigurationModel';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationDDLSource, ConfigurationValueTypes, Constants, Scope } from '../../shared/constants';\r\n\r\n@Component({\r\n    selector: 'lib-configuration',\r\n    templateUrl: './configuration.component.html',\r\n    standalone: false\r\n})\r\nexport class ConfigurationComponent implements OnInit {\r\n  //Page requirements\r\n  showPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Configuration/\";\r\n  ProductionMode: boolean;\r\n  isFilterDataLoaded: boolean = false;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  //Filter and paging components\r\n  ConfigurationForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  ConfigurationPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  ConfigurationPaging: PagingOptions;\r\n  organizationOptions: DropdownOptions = new DropdownOptions();\r\n  organizationsFilter: FilterItem;\r\n\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('ConfigurationPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n  @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n\r\n  //Required lists\r\n  ScopesList: any[] = [];\r\n  PermissionList: any[] = [];\r\n  UsersList: any[] = [];\r\n  LookupsList: any[] = [];\r\n  LookupItemsList: any[] = [];\r\n  ValueTypeList: any[] = [];\r\n  ValueSourceList: any[] = [];\r\n  CategoryList: any[] = [];\r\n  organizationList: DropdownListItem[] = [];;\r\n\r\n\r\n  //Add,Edit required flags\r\n  ShowPermissionList: boolean = false;\r\n  ShowUsersList: boolean = false;\r\n  ShowLookupList: boolean = false;\r\n  ShowValueAndDefaultValue: boolean = false;\r\n  ShowValueToggleAndDefaultValue: boolean = false;\r\n  ShowSourceFunctionPath: boolean = false;\r\n  ShowDropDownSource: boolean = false;\r\n  ShowLookupItemsList: boolean = false;\r\n  ShowSourceFunctionData: boolean = false;\r\n  showFunctionNotFoundError: boolean = false;\r\n  sourceFunctionDataNotLoaded: boolean = false;\r\n  configuration: any = null;\r\n\r\n  //#region add modal control\r\n  addConfigurationForm = new FormGroup({});\r\n  addConfigurationFormOptions: FormOptions;\r\n  Key: TextBoxOptions;\r\n  Value: TextBoxOptions;\r\n  DefaultValue: TextBoxOptions;\r\n  FunctionSourcePath: TextBoxOptions;\r\n  SourceFuncValue: DropdownOptions = new DropdownOptions();\r\n  SourceFuncDefaultValue: DropdownOptions = new DropdownOptions();\r\n  loadJsonToggle: ToggleSlideOptions;\r\n  ValueToggel: ToggleSlideOptions;\r\n  DefaultValueToggel: ToggleSlideOptions;\r\n  Scope: DropdownOptions;\r\n  Type: DropdownOptions;\r\n  Category: DropdownOptions;\r\n  PermissionSet: DropdownOptions;\r\n  User: DropdownOptions;\r\n  Source: DropdownOptions;\r\n  Lookup: DropdownOptions;\r\n  LookupValue: DropdownOptions;\r\n  LookupDefaultValue: DropdownOptions;\r\n  addOrganization: DropdownOptions = new DropdownOptions();\r\n\r\n  //#endregion\r\n\r\n  //#region edit model control\r\n  EditConfigurationForm = new FormGroup({});\r\n  EditConfigurationFormOptions: FormOptions;\r\n  EditKey: TextBoxOptions = new TextBoxOptions();\r\n  EditTextValue: TextBoxOptions = new TextBoxOptions();\r\n  EditTextDefaultValue: TextBoxOptions = new TextBoxOptions();\r\n  EditSourcePath: TextBoxOptions = new TextBoxOptions();\r\n  EditFunctionSourcePath: TextBoxOptions = new TextBoxOptions();\r\n  EditValueToggele: ToggleSlideOptions = new ToggleSlideOptions();\r\n  EditDefaultValueToggele: ToggleSlideOptions = new ToggleSlideOptions();\r\n  EditScope: DropdownOptions = new DropdownOptions();\r\n  EditType: DropdownOptions = new DropdownOptions();\r\n  EditPermissionSet: DropdownOptions = new DropdownOptions();\r\n  EditUser: DropdownOptions = new DropdownOptions();\r\n  EditSource: DropdownOptions = new DropdownOptions();\r\n  EditLookup: DropdownOptions = new DropdownOptions();\r\n  EditLookupValue: DropdownOptions = new DropdownOptions();\r\n  EditLookupDefaultValue: DropdownOptions = new DropdownOptions();\r\n  EditSourceFuncValue: DropdownOptions = new DropdownOptions();\r\n  EditSourceFuncDefaultValue: DropdownOptions = new DropdownOptions();\r\n  editOrganization: DropdownOptions = new DropdownOptions();\r\n\r\n  ConfigurationId: string;\r\n  ConfigurationValueTypeID_GUID: string;\r\n  EditConfigurationScopeID_GUID: string;\r\n  EditConfigurationDDLSourceID_GUID: string;\r\n  //#endregion\r\n\r\n  //#region delete  Model Controls\r\n  deleteConfigurationId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n  //#endregion\r\n\r\n  //#region Reload Json Model Controls\r\n  reloadConfirmationOptions: ConfirmationModalOptions;\r\n  reloadControlLoaded: boolean = false;\r\n  @ViewChild('ReloadConfirmationModalControl', { static: false }) reloadConfirmationModalControl: ConfirmationModalComponent;\r\n  editLoadJsonToggle: ToggleSlideOptions;\r\n  //#endregion\r\n\r\n\r\n  constructor(private authService: AuthService,\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService,\r\n    private ConfigurationsService: ConfigurationsService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.showPageContent = true;\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Configuration\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n\r\n    //on lang changed\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.showPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    this.organizationOptions = new DropdownOptions();\r\n    this.organizationOptions.name = \"organization\";\r\n    this.organizationOptions.labelKey = \"Organizations\";\r\n    this.organizationOptions.singleSelection = true;\r\n    this.organizationOptions.allowSearchFilter = true;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = this.searchTextBox.name;\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.ConfigurationPaging = new PagingOptions();\r\n    this.ConfigurationPaging.actionPostURL = this.ApiUrl + 'GetConfigurationsByFilter';\r\n    this.ConfigurationPaging.onKeyPressFiltersControlNames = [this.searchTextBox.name];\r\n    this.ConfigurationPaging.filters = [this.TextInputFilter];\r\n    this.ConfigurationPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.ConfigurationPaging.resetFilterButtonName = 'configurationResetButton';\r\n\r\n    if (this.isMultiTenancyAllowed && this.isSuperAdmin) {\r\n      this.ConfigurationPaging.filters = this.ConfigurationPaging.filters ?? [];\r\n      this.ConfigurationPaging.dropdownFiltersControlNames = this.ConfigurationPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.ConfigurationPaging.filters.push(this.organizationsFilter);\r\n      this.ConfigurationPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n    this.isFilterLoaded = true;\r\n  }\r\n\r\n  loadLists() {\r\n    if (!this.isFilterDataLoaded) {\r\n      this.ConfigurationsService.loadDropdownForFilters().subscribe((result) => {\r\n        let dropdownsResponseModel = result;\r\n        let filterOrganizationList = [<DropdownListItem>{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(dropdownsResponseModel.organization);\r\n        let organizationsElement = this.organizationDDL;\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n\r\n        this.isFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n\r\n  //Paging functions\r\n  setConfigurationListResult(result) {\r\n    this.ConfigurationPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.showPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return item.key.toLowerCase().includes(searchValue.toLowerCase());\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.ConfigurationPagingResult;\r\n  }\r\n\r\n\r\n  //#region Add configuration\r\n  showAddConfigurationModal(AddConfigurationModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.ShowPermissionList = false;\r\n    this.ShowUsersList = false;\r\n    this.ShowLookupList = false;\r\n\r\n    this.resetConfigurationFlags();\r\n    this.ConfigurationsService.loadAddDropdowns().subscribe((result) => {\r\n      //Lists loading\r\n      let resultObj = result as any;\r\n      this.ScopesList = resultObj.scopes;\r\n      this.PermissionList = resultObj.permissionList;\r\n      this.UsersList = resultObj.users;\r\n      this.LookupsList = resultObj.lookups;\r\n      this.ValueTypeList = resultObj.valueType;\r\n      this.ValueSourceList = resultObj.valueSource;\r\n      this.CategoryList = resultObj.category;\r\n      this.organizationList = resultObj.organizations;\r\n\r\n\r\n      //Form and controls reinitialize\r\n      this.addConfigurationForm = new FormGroup({});\r\n      this.addConfigurationFormOptions = new FormOptions();\r\n      this.addConfigurationFormOptions.formGroup = this.addConfigurationForm;\r\n      this.addConfigurationFormOptions.getModelFunction = this.getAddConfigurationModel;\r\n      this.addConfigurationFormOptions.serviceSubmitFunction = this.getAddConfigurationFunction;\r\n      this.addConfigurationFormOptions.pagingReference = this.pagingElement;\r\n\r\n      //Static controls\r\n\r\n      this.addOrganization.name = \"OrganizationID_GUID\";\r\n      this.addOrganization.labelKey = \"Organization\";\r\n      this.addOrganization.selectedItems = null;\r\n      this.addOrganization.dataSource = this.organizationList;\r\n      this.addOrganization.singleSelection = true;\r\n      this.addOrganization.allowSearchFilter = true;\r\n      this.addOrganization.isRequired = false;\r\n\r\n      this.Key = new TextBoxOptions();\r\n      this.Key.name = \"Key\";\r\n      this.Key.labelKey = \"Key\";\r\n      this.Key.type = InputType.Text;\r\n      this.Key.isRequired = true;\r\n      this.Key.value = null;\r\n      this.Key.maxLength = 256;\r\n\r\n      this.Scope = new DropdownOptions();\r\n      this.Scope.name = \"Scope\";\r\n      this.Scope.labelKey = \"Scope\";\r\n      this.Scope.selectedItems = null;\r\n      this.Scope.dataSource = this.ScopesList;\r\n      this.Scope.singleSelection = true;\r\n      this.Scope.allowSearchFilter = true;\r\n      this.Scope.isRequired = true;\r\n\r\n      this.Type = new DropdownOptions();\r\n      this.Type.name = \"Type\";\r\n      this.Type.labelKey = \"Type\";\r\n      this.Type.selectedItems = null;\r\n      this.Type.dataSource = this.ValueTypeList;\r\n      this.Type.singleSelection = true;\r\n      this.Type.allowSearchFilter = true;\r\n      this.Type.isRequired = true;\r\n\r\n      this.Category = new DropdownOptions();\r\n      this.Category.name = \"Category\";\r\n      this.Category.labelKey = \"Category\";\r\n      this.Category.selectedItems = null;\r\n      this.Category.dataSource = this.CategoryList;\r\n      this.Category.singleSelection = true;\r\n      this.Category.allowSearchFilter = true;\r\n      this.Category.isRequired = true;\r\n\r\n      this.PermissionSet = new DropdownOptions();\r\n      this.PermissionSet.name = \"PermissionSet\";\r\n      this.PermissionSet.labelKey = \"PermissionSet\";\r\n      this.PermissionSet.selectedItems = null;\r\n      this.PermissionSet.dataSource = this.PermissionList;\r\n      this.PermissionSet.singleSelection = true;\r\n      this.PermissionSet.allowSearchFilter = true;\r\n      this.PermissionSet.isRequired = true;\r\n\r\n      this.User = new DropdownOptions();\r\n      this.User.name = \"User\";\r\n      this.User.labelKey = \"User\";\r\n      this.User.selectedItems = null;\r\n      this.User.dataSource = this.UsersList;\r\n      this.User.singleSelection = true;\r\n      this.User.allowSearchFilter = true;\r\n      this.User.isRequired = true;\r\n\r\n      this.loadJsonToggle = new ToggleSlideOptions();\r\n      this.loadJsonToggle.name = \"IsLoadInJson\";\r\n      this.loadJsonToggle.labelKey = \"LoadJsonToggle\";\r\n      this.loadJsonToggle.value = false;\r\n      this.loadJsonToggle.viewType = ControlLayout.Horizontal;\r\n\r\n      this.modalService.open(AddConfigurationModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n  }\r\n\r\n  ChangeTypeValue(key) {\r\n    this.resetConfigurationFlags();\r\n    this.removeFormControls();\r\n    key = key.toLowerCase();\r\n    switch (key) {\r\n      case ConfigurationValueTypes.Text:\r\n        this.Value = new TextBoxOptions();\r\n        this.Value.name = \"Value\";\r\n        this.Value.labelKey = \"Value\";\r\n        this.Value.type = InputType.Text;\r\n        this.Value.value = null;\r\n        this.Value.isRequired = true;\r\n        this.Value.maxLength = 5000;\r\n\r\n        this.DefaultValue = new TextBoxOptions();\r\n        this.DefaultValue.name = \"DefaultValue\";\r\n        this.DefaultValue.labelKey = \"DefaultValue\";\r\n        this.DefaultValue.type = InputType.Text;\r\n        this.DefaultValue.value = null;\r\n        this.DefaultValue.isRequired = true;\r\n        this.DefaultValue.maxLength = 5000;\r\n\r\n        this.ShowValueAndDefaultValue = true;\r\n        break;\r\n      case ConfigurationValueTypes.Toggle:\r\n        this.ValueToggel = new ToggleSlideOptions();\r\n        this.ValueToggel.name = \"ValueToggel\";\r\n        this.ValueToggel.labelKey = \"Value\";\r\n        this.ValueToggel.value = false;\r\n        this.ValueToggel.viewType = ControlLayout.Horizontal;\r\n\r\n        this.DefaultValueToggel = new ToggleSlideOptions();\r\n        this.DefaultValueToggel.name = \"DefaultValueToggel\";\r\n        this.DefaultValueToggel.labelKey = \"DefaultValue\";\r\n        this.DefaultValueToggel.value = false;\r\n        this.DefaultValueToggel.viewType = ControlLayout.Horizontal;\r\n        this.ShowValueToggleAndDefaultValue = true;\r\n\r\n        break;\r\n      case ConfigurationValueTypes.DropdownList:\r\n        this.Source = new DropdownOptions();\r\n        this.Source.name = \"Source\";\r\n        this.Source.labelKey = \"Source\";\r\n        this.Source.selectedItems = null;\r\n        this.Source.dataSource = this.ValueSourceList;\r\n        this.Source.singleSelection = true;\r\n        this.Source.allowSearchFilter = true;\r\n        this.Source.isRequired = true;\r\n        this.ShowDropDownSource = true;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  ChangeSource(key) {\r\n    key = key.toLowerCase();\r\n    switch (key) {\r\n      case ConfigurationDDLSource.Lookup:\r\n        this.addConfigurationForm.removeControl(\"FunctionSourcePath\");\r\n        this.addConfigurationForm.removeControl(\"SourceFuncValue\");\r\n        this.addConfigurationForm.removeControl(\"SourceFuncDefaultValue\");\r\n        this.Lookup = new DropdownOptions();\r\n        this.Lookup.name = \"Lookup\";\r\n        this.Lookup.labelKey = \"Lookup\";\r\n        this.Lookup.selectedItems = null;\r\n        this.Lookup.dataSource = this.LookupsList;\r\n        this.Lookup.singleSelection = true;\r\n        this.Lookup.allowSearchFilter = true;\r\n        this.Lookup.isRequired = true;\r\n\r\n        this.ShowLookupList = true;\r\n        this.ShowSourceFunctionPath = false;\r\n        this.ShowSourceFunctionData = false;\r\n        this.sourceFunctionDataNotLoaded = false;\r\n        break;\r\n      case ConfigurationDDLSource.Function:\r\n        this.addConfigurationForm.removeControl(\"Lookup\");\r\n        this.addConfigurationForm.removeControl(\"LookupValue\");\r\n        this.addConfigurationForm.removeControl(\"LookupDefaultValue\");\r\n\r\n        this.FunctionSourcePath = new TextBoxOptions();\r\n        this.FunctionSourcePath.name = \"FunctionSourcePath\";\r\n        this.FunctionSourcePath.labelValue = \"SourcePath\";\r\n        this.FunctionSourcePath.labelKey = \"SourcePath\";\r\n        this.FunctionSourcePath.type = InputType.Text;\r\n        this.FunctionSourcePath.value = null;\r\n        this.FunctionSourcePath.isRequired = true;\r\n\r\n        this.ShowSourceFunctionPath = true;\r\n        this.sourceFunctionDataNotLoaded = true;\r\n        this.ShowLookupList = false;\r\n        this.ShowLookupItemsList = false;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  removeFormControls() {\r\n    this.addConfigurationForm.removeControl(\"Value\");\r\n    this.addConfigurationForm.removeControl(\"DefaultValue\");\r\n    this.addConfigurationForm.removeControl(\"ValueToggel\");\r\n    this.addConfigurationForm.removeControl(\"DefaultValueToggel\");\r\n    this.addConfigurationForm.removeControl(\"Source\");\r\n    this.addConfigurationForm.removeControl(\"Lookup\");\r\n    this.addConfigurationForm.removeControl(\"LookupValue\");\r\n    this.addConfigurationForm.removeControl(\"LookupDefaultValue\");\r\n    this.addConfigurationForm.removeControl(\"FunctionSourcePath\");\r\n    this.addConfigurationForm.removeControl(\"SourceFuncValue\");\r\n    this.addConfigurationForm.removeControl(\"SourceFuncDefaultValue\");\r\n  }\r\n\r\n  ChangeLookup(key, isAdd: boolean) {\r\n    this.ConfigurationsService.loadLookupItems(key).subscribe((result) => {\r\n      let Result = result as any;\r\n      this.LookupItemsList = Result.lookupItems;\r\n      if (this.ShowLookupItemsList) {\r\n        if (isAdd) {\r\n          this.LookupValue.selectedItems = null;\r\n          this.LookupDefaultValue.selectedItems = null;\r\n          this.LookupValue.dataSource = this.LookupItemsList;\r\n          this.LookupDefaultValue.dataSource = this.LookupItemsList;\r\n        }\r\n        else {\r\n          this.EditLookupValue.selectedItems = null;\r\n          this.EditLookupDefaultValue.selectedItems = null;\r\n          this.EditLookupValue.dataSource = this.LookupItemsList;\r\n          this.EditLookupDefaultValue.dataSource = this.LookupItemsList;\r\n        }\r\n      }\r\n      else {\r\n        if (isAdd) {\r\n          this.LookupValue = new DropdownOptions();\r\n          this.LookupValue.name = \"LookupValue\";\r\n          this.LookupValue.labelKey = \"Value\";\r\n          this.LookupValue.selectedItems = null;\r\n          this.LookupValue.dataSource = this.LookupItemsList;\r\n          this.LookupValue.singleSelection = true;\r\n          this.LookupValue.allowSearchFilter = true;\r\n          this.LookupValue.isRequired = true;\r\n          this.LookupValue.showAsterisk = true;\r\n\r\n          this.LookupDefaultValue = new DropdownOptions();\r\n          this.LookupDefaultValue.name = \"LookupDefaultValue\";\r\n          this.LookupDefaultValue.labelKey = \"DefaultValue\";\r\n          this.LookupDefaultValue.selectedItems = null;\r\n          this.LookupDefaultValue.dataSource = this.LookupItemsList;\r\n          this.LookupDefaultValue.singleSelection = true;\r\n          this.LookupDefaultValue.allowSearchFilter = true;\r\n          this.LookupDefaultValue.isRequired = true;\r\n        }\r\n        else {\r\n          this.ShowLookupItemsList = false;\r\n\r\n          this.EditLookupValue = new DropdownOptions();\r\n          this.EditLookupValue.name = \"EditLookupValue\";\r\n          this.EditLookupValue.labelKey = \"Value\";\r\n          this.EditLookupValue.selectedItems = null;\r\n          this.EditLookupValue.dataSource = this.LookupItemsList;\r\n          this.EditLookupValue.singleSelection = true;\r\n          this.EditLookupValue.allowSearchFilter = true;\r\n          this.EditLookupValue.isRequired = true;\r\n\r\n          this.EditLookupDefaultValue = new DropdownOptions();\r\n          this.EditLookupDefaultValue.name = \"EditLookupDefaultValue\";\r\n          this.EditLookupDefaultValue.labelKey = \"DefaultValue\";\r\n          this.EditLookupDefaultValue.selectedItems = null;\r\n          this.EditLookupDefaultValue.dataSource = this.LookupItemsList;\r\n          this.EditLookupDefaultValue.singleSelection = true;\r\n          this.EditLookupDefaultValue.allowSearchFilter = true;\r\n          this.EditLookupDefaultValue.isRequired = true;\r\n        }\r\n        this.ShowLookupItemsList = true;\r\n      }\r\n\r\n    });\r\n  }\r\n\r\n  getAddConfigurationModel = (): ConfigurationModel[] => {\r\n    let ResultModel = this.addConfigurationForm.value as any;\r\n    let addModel: ConfigurationModel = new ConfigurationModel();\r\n    addModel.key = ResultModel.Key;\r\n    addModel.scopeID_GUID = ResultModel.Scope;\r\n    addModel.valueTypeID_GUID = ResultModel.Type;\r\n    addModel.categoryID_GUID = ResultModel.Category;\r\n    addModel.textValue = ResultModel.Value;\r\n    addModel.defaultTextValue = ResultModel.DefaultValue;\r\n    addModel.boolValue = ResultModel.ValueToggel;\r\n    addModel.isLoadInJson = ResultModel.IsLoadInJson;\r\n    addModel.defaultBoolValue = ResultModel.DefaultValueToggel;\r\n    addModel.sourceFunctionName = ResultModel.FunctionSourcePath;\r\n    addModel.userID_GUID = ResultModel.User;\r\n    addModel.selectedLookupID_GUID = ResultModel.Lookup;\r\n    addModel.value = ResultModel.LookupValue;\r\n    addModel.defaultValue = ResultModel.LookupDefaultValue;\r\n    addModel.permissionSetID_GUID = ResultModel.PermissionSet;\r\n    addModel.valueSourceID_GUID = ResultModel.Source;\r\n    addModel.organizationID_GUID = ResultModel[this.addOrganization.name];\r\n\r\n    let sourceItem = this.ValueSourceList.filter((item) => { return item.key.toLowerCase() == addModel.valueSourceID_GUID?.toLowerCase(); }).map((item) => item)[0];\r\n    if (sourceItem != undefined) {\r\n      let ConfigurationDDLSourceName = sourceItem.value;\r\n      if (ConfigurationDDLSourceName == \"Function\") {\r\n        addModel.value = ResultModel.SourceFuncValue;\r\n        addModel.defaultValue = ResultModel.SourceFuncDefaultValue;\r\n      }\r\n    }\r\n\r\n    return Array(addModel);\r\n  };\r\n\r\n  getAddConfigurationFunction = (addModel: ConfigurationModel): Observable<any> => {\r\n    return this.ConfigurationsService.addConfiguration(addModel);\r\n  };\r\n  //#endregion\r\n\r\n\r\n  //#region Edit configuration\r\n  showEditConfigurationModal(configurationId: string, EditConfigurationModal) {\r\n    this.ConfigurationId = configurationId;\r\n    this.resetConfigurationFlags();\r\n    this.ConfigurationsService.getEditConfigurationData(configurationId).subscribe((result: any) => {\r\n      let resultObj = result as any;\r\n      //Edit model\r\n      let configuration = resultObj.model;\r\n      //Load lookups list\r\n      this.LookupsList = resultObj.lookups;\r\n      //Load lookupItems list\r\n      let lookupItems = resultObj.lookupItemsSource;\r\n      //Load permissionsets list\r\n      this.PermissionList = resultObj.permissionSetList;\r\n      //Load users list\r\n      this.UsersList = resultObj.users;\r\n      //Load organization List\r\n      this.organizationList = resultObj.organizations;\r\n\r\n      //Form and controls reinitialize\r\n      this.EditConfigurationForm = new FormGroup({});\r\n      this.EditConfigurationFormOptions = new FormOptions();\r\n      this.EditConfigurationFormOptions.formGroup = this.EditConfigurationForm;\r\n      this.EditConfigurationFormOptions.getModelFunction = this.getEditConfigurationModel;\r\n      this.EditConfigurationFormOptions.serviceSubmitFunction = this.getEditConfigurationFunction;\r\n      this.EditConfigurationFormOptions.pagingReference = this.pagingElement;\r\n      this.EditConfigurationFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      this.ConfigurationValueTypeID_GUID = configuration.valueTypeID_GUID?.toLowerCase();\r\n      this.EditConfigurationScopeID_GUID = configuration.scopeID_GUID.toLowerCase();\r\n      this.EditConfigurationDDLSourceID_GUID = configuration.valueSourceID_GUID?.toLowerCase();\r\n\r\n      this.configuration = configuration;\r\n\r\n      this.EditKey = new TextBoxOptions();\r\n      this.EditKey.name = \"Key\";\r\n      this.EditKey.labelKey = \"Key\";\r\n      this.EditKey.type = InputType.Text;\r\n      this.EditKey.isRequired = !this.ProductionMode;\r\n      this.EditKey.value = configuration.key;\r\n      this.EditKey.maxLength = 256;\r\n      this.EditKey.isDisabled = this.ProductionMode;\r\n\r\n      this.editOrganization.name = \"OrganizationID_GUID\";\r\n      this.editOrganization.labelKey = \"Organization\";\r\n      this.editOrganization.selectedItems = configuration.organizationID_GUID?.toLowerCase();\r\n      this.editOrganization.dataSource = this.organizationList;\r\n      this.editOrganization.singleSelection = true;\r\n      this.editOrganization.allowSearchFilter = true;\r\n      this.editOrganization.isRequired = false;\r\n\r\n      this.editLoadJsonToggle = new ToggleSlideOptions();\r\n      this.editLoadJsonToggle.name = \"IsLoadInJson\";\r\n      this.editLoadJsonToggle.labelKey = \"LoadJsonToggle\";\r\n      this.editLoadJsonToggle.value = configuration.isLoadInJson;\r\n      this.editLoadJsonToggle.viewType = ControlLayout.Horizontal;\r\n\r\n      switch (this.ConfigurationValueTypeID_GUID) {\r\n        case ConfigurationValueTypes.Text:\r\n          this.ShowValueAndDefaultValue = true;\r\n          this.EditTextValue = new TextBoxOptions();\r\n          this.EditTextValue.name = \"EditTextValue\";\r\n          this.EditTextValue.labelKey = \"Value\";\r\n          this.EditTextValue.type = InputType.Text;\r\n          this.EditTextValue.value = configuration.textValue;\r\n          this.EditTextValue.isRequired = true;\r\n          this.EditTextValue.maxLength = 5000;\r\n\r\n\r\n          this.EditTextDefaultValue = new TextBoxOptions();\r\n          this.EditTextDefaultValue.name = \"EditTextDefaultValue\";\r\n          this.EditTextDefaultValue.labelKey = \"DefaultValue\";\r\n          this.EditTextDefaultValue.type = InputType.Text;\r\n          this.EditTextDefaultValue.value = configuration.defaultTextValue;\r\n          this.EditTextDefaultValue.isRequired = true;\r\n          this.EditTextDefaultValue.maxLength = 5000;\r\n\r\n          break;\r\n        case ConfigurationValueTypes.Toggle:\r\n          this.ShowValueToggleAndDefaultValue = true;\r\n          this.EditValueToggele = new ToggleSlideOptions();\r\n          this.EditValueToggele.name = \"EditValueToggele\";\r\n          this.EditValueToggele.labelKey = \"Value\";\r\n          this.EditValueToggele.value = configuration.boolValue;\r\n          this.EditValueToggele.viewType = ControlLayout.Horizontal;\r\n\r\n          this.EditDefaultValueToggele = new ToggleSlideOptions();\r\n          this.EditDefaultValueToggele.name = \"EditDefaultValueToggele\";\r\n          this.EditDefaultValueToggele.labelKey = \"DefaultValue\";\r\n          this.EditDefaultValueToggele.value = configuration.defaultBoolValue;\r\n          this.EditDefaultValueToggele.viewType = ControlLayout.Horizontal;\r\n          break;\r\n        case ConfigurationValueTypes.DropdownList:\r\n          switch (this.EditConfigurationDDLSourceID_GUID) {\r\n            case ConfigurationDDLSource.Lookup:\r\n              this.ShowLookupList = true;\r\n              this.ShowLookupItemsList = true;\r\n              this.EditLookup = new DropdownOptions();\r\n              this.EditLookup.name = \"EditLookup\";\r\n              this.EditLookup.labelKey = \"Lookup\";\r\n              this.EditLookup.selectedItems = null;\r\n              this.EditLookup.dataSource = this.LookupsList;\r\n              this.EditLookup.singleSelection = true;\r\n              this.EditLookup.allowSearchFilter = true;\r\n              this.EditLookup.isRequired = true;\r\n              this.EditLookup.selectedItems = configuration.selectedLookupID_GUID?.toLowerCase();\r\n\r\n              this.EditLookupValue = new DropdownOptions();\r\n              this.EditLookupValue.name = \"EditLookupValue\";\r\n              this.EditLookupValue.labelKey = \"Value\";\r\n              this.EditLookupValue.dataSource = lookupItems;\r\n              this.EditLookupValue.singleSelection = true;\r\n              this.EditLookupValue.allowSearchFilter = true;\r\n              this.EditLookupValue.isRequired = true;\r\n              this.EditLookupValue.selectedItems = configuration.value?.toLowerCase();\r\n\r\n              this.EditLookupDefaultValue = new DropdownOptions();\r\n              this.EditLookupDefaultValue.name = \"EditLookupDefaultValue\";\r\n              this.EditLookupDefaultValue.labelKey = \"DefaultValue\";\r\n              this.EditLookupDefaultValue.dataSource = lookupItems;\r\n              this.EditLookupDefaultValue.singleSelection = true;\r\n              this.EditLookupDefaultValue.allowSearchFilter = true;\r\n              this.EditLookupDefaultValue.isRequired = true;\r\n              this.EditLookupDefaultValue.selectedItems = configuration.defaultValue?.toLowerCase();\r\n              break;\r\n            case ConfigurationDDLSource.Function:\r\n              this.EditFunctionSourcePath = new TextBoxOptions();\r\n              this.EditFunctionSourcePath.name = \"EditFunctionSourcePath\";\r\n              this.EditFunctionSourcePath.labelKey = \"SourcePath\";\r\n              this.EditFunctionSourcePath.type = InputType.Text;\r\n              this.EditFunctionSourcePath.value = configuration.sourceFunctionName;\r\n              this.EditFunctionSourcePath.isRequired = true;\r\n\r\n\r\n              this.ConfigurationsService.loadSourceFunctionDropDownItems(configuration.sourceFunctionName).subscribe((result: any) => {\r\n                let selectedSourceFuncValue = result.filter((item) => { return item.key == configuration.value; }).map((item) => item.key)[0];\r\n                this.EditSourceFuncValue = new DropdownOptions();\r\n                this.EditSourceFuncValue.name = \"EditSourceFuncValue\";\r\n                this.EditSourceFuncValue.labelKey = \"Value\";\r\n                this.EditSourceFuncValue.dataSource = result;\r\n                this.EditSourceFuncValue.singleSelection = true;\r\n                this.EditSourceFuncValue.allowSearchFilter = true;\r\n                this.EditSourceFuncValue.isRequired = true;\r\n                this.EditSourceFuncValue.selectedItems = selectedSourceFuncValue;\r\n\r\n                let selectedSourceFuncDefaultValue = result.filter((item) => { return item.key == configuration.defaultValue; }).map((item) => item.key)[0];\r\n                this.EditSourceFuncDefaultValue = new DropdownOptions();\r\n                this.EditSourceFuncDefaultValue.name = \"EditSourceFuncDefaultValue\";\r\n                this.EditSourceFuncDefaultValue.labelKey = \"DefaultValue\";\r\n                this.EditSourceFuncDefaultValue.dataSource = result;\r\n                this.EditSourceFuncDefaultValue.singleSelection = true;\r\n                this.EditSourceFuncDefaultValue.allowSearchFilter = true;\r\n                this.EditSourceFuncDefaultValue.isRequired = true;\r\n                this.EditSourceFuncDefaultValue.selectedItems = selectedSourceFuncDefaultValue;\r\n                this.ShowSourceFunctionPath = true;\r\n                this.ShowSourceFunctionData = true;\r\n\r\n              }, (error) => {\r\n\r\n              });\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      //reset scope\r\n      this.ShowPermissionList = false;\r\n      this.ShowUsersList = false;\r\n      //console.log(scopItem);\r\n      switch (this.EditConfigurationScopeID_GUID) {\r\n        case Scope.Permissionset:\r\n          this.ShowPermissionList = true;\r\n          this.EditPermissionSet = new DropdownOptions();\r\n          this.EditPermissionSet.name = \"EditPermissionSet\";\r\n          this.EditPermissionSet.labelKey = \"PermissionSet\";\r\n          this.EditPermissionSet.selectedItems = null;\r\n          this.EditPermissionSet.dataSource = this.PermissionList;\r\n          this.EditPermissionSet.singleSelection = true;\r\n          this.EditPermissionSet.allowSearchFilter = true;\r\n          this.EditPermissionSet.isRequired = true;\r\n          this.EditPermissionSet.selectedItems = configuration.permissionSetID_GUID?.toLowerCase();\r\n          break;\r\n        case Scope.User:\r\n          this.ShowUsersList = true;\r\n          this.EditUser = new DropdownOptions();\r\n          this.EditUser.name = \"EditUser\";\r\n          this.EditUser.labelKey = \"User\";\r\n          this.EditUser.selectedItems = null;\r\n          this.EditUser.dataSource = this.UsersList;\r\n          this.EditUser.singleSelection = true;\r\n          this.EditUser.allowSearchFilter = true;\r\n          this.EditUser.isRequired = true;\r\n          this.EditUser.selectedItems = configuration.userID_GUID?.toLowerCase();\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      this.modalService.open(EditConfigurationModal);\r\n    });\r\n  }\r\n\r\n  getEditConfigurationModel = (): ConfigurationModel[] => {\r\n    let ResultModel = this.EditConfigurationForm.value as any;\r\n    let editModel: ConfigurationModel = new ConfigurationModel();\r\n    editModel.iD_GUID = this.ConfigurationId;\r\n    editModel.valueTypeID_GUID = this.ConfigurationValueTypeID_GUID;\r\n    editModel.scopeID_GUID = this.EditConfigurationScopeID_GUID;\r\n    editModel.key = this.ProductionMode ? this.configuration.key : ResultModel.Key;\r\n    editModel.valueSourceID_GUID = this.EditConfigurationDDLSourceID_GUID;\r\n    editModel.isLoadInJson = ResultModel.IsLoadInJson;\r\n    editModel.organizationID_GUID = ResultModel[this.editOrganization.name];\r\n\r\n    switch (this.ConfigurationValueTypeID_GUID) {\r\n      case ConfigurationValueTypes.Text:\r\n        editModel.textValue = ResultModel.EditTextValue;\r\n        editModel.defaultTextValue = ResultModel.EditTextDefaultValue;\r\n        break;\r\n      case ConfigurationValueTypes.Toggle:\r\n        editModel.boolValue = ResultModel.EditValueToggele;\r\n        editModel.defaultBoolValue = ResultModel.EditDefaultValueToggele;\r\n        break;\r\n      case ConfigurationValueTypes.DropdownList:\r\n        if (this.EditConfigurationDDLSourceID_GUID == ConfigurationDDLSource.Lookup) {\r\n          editModel.selectedLookupID_GUID = ResultModel.EditLookup;\r\n          editModel.value = ResultModel.EditLookupValue as string;\r\n          editModel.defaultValue = ResultModel.EditLookupDefaultValue as string;\r\n        }\r\n        else if (this.EditConfigurationDDLSourceID_GUID == ConfigurationDDLSource.Function) {\r\n          editModel.sourceFunctionName = ResultModel.EditFunctionSourcePath;\r\n          editModel.value = ResultModel.EditSourceFuncValue;\r\n          editModel.defaultValue = ResultModel.EditSourceFuncDefaultValue;\r\n        }\r\n        break;\r\n    }\r\n\r\n    switch (this.EditConfigurationScopeID_GUID) {\r\n      case Scope.User:\r\n        editModel.userID_GUID = ResultModel.EditUser;\r\n        break;\r\n      case Scope.Permissionset:\r\n        editModel.permissionSetID_GUID = ResultModel.EditPermissionSet;\r\n    }\r\n\r\n    return Array(editModel);\r\n  };\r\n\r\n  getEditConfigurationFunction = (EditModel): Observable<any> => {\r\n    return this.ConfigurationsService.editConfiguration(EditModel);\r\n  };\r\n  //#endregion\r\n\r\n  //#region add/edit required function\r\n  ChangeScopeValue(key) {\r\n    key = key.toLowerCase();\r\n    switch (key) {\r\n      case Scope.App:\r\n        this.ShowPermissionList = false;\r\n        this.ShowUsersList = false;\r\n        this.addConfigurationForm.removeControl(\"User\");\r\n        this.addConfigurationForm.removeControl(\"PermissionSet\");\r\n        break;\r\n      case Scope.Permissionset:\r\n        this.ShowPermissionList = true;\r\n        this.ShowUsersList = false;\r\n        this.addConfigurationForm.removeControl(\"User\");\r\n        break;\r\n      case Scope.User:\r\n        this.ShowPermissionList = false;\r\n        this.ShowUsersList = true;\r\n        this.addConfigurationForm.removeControl(\"PermissionSet\");\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n  resetConfigurationFlags() {\r\n    this.ShowLookupList = false;\r\n    this.ShowValueAndDefaultValue = false;\r\n    this.ShowValueToggleAndDefaultValue = false;\r\n    this.ShowSourceFunctionPath = false;\r\n    this.showFunctionNotFoundError = false;\r\n    this.ShowDropDownSource = false;\r\n    this.ShowLookupItemsList = false;\r\n    this.ShowSourceFunctionData = false;\r\n    this.sourceFunctionDataNotLoaded = false;\r\n  }\r\n  SearchForFunction(isAdd: boolean = true) {\r\n    let ResultModel: any = isAdd ? this.addConfigurationForm.value : this.EditConfigurationForm.value;\r\n    let functionName = isAdd ? ResultModel.FunctionSourcePath : ResultModel.EditFunctionSourcePath;\r\n    this.ConfigurationsService.loadSourceFunctionDropDownItems(functionName).subscribe((result: any) => {\r\n      this.showFunctionNotFoundError = false;\r\n      if (this.ShowSourceFunctionData) {\r\n        if (isAdd) {\r\n          this.SourceFuncValue.selectedItems = null;\r\n          this.SourceFuncDefaultValue.selectedItems = null;\r\n\r\n          this.SourceFuncValue.dataSource = result;\r\n          this.SourceFuncDefaultValue.dataSource = result;\r\n        }\r\n        else {\r\n          this.EditSourceFuncValue.selectedItems = null;\r\n          this.EditSourceFuncDefaultValue.selectedItems = null;\r\n\r\n          this.EditSourceFuncValue.dataSource = result;\r\n          this.EditSourceFuncDefaultValue.dataSource = result;\r\n        }\r\n\r\n      }\r\n      else {\r\n        if (isAdd) {\r\n          this.SourceFuncValue = new DropdownOptions();\r\n          this.SourceFuncValue.name = \"SourceFuncValue\";\r\n          this.SourceFuncValue.labelKey = \"Value\";\r\n          this.SourceFuncValue.dataSource = result;\r\n          this.SourceFuncValue.singleSelection = true;\r\n          this.SourceFuncValue.allowSearchFilter = true;\r\n          this.SourceFuncValue.isRequired = true;\r\n\r\n          this.SourceFuncDefaultValue = new DropdownOptions();\r\n          this.SourceFuncDefaultValue.name = \"SourceFuncDefaultValue\";\r\n          this.SourceFuncDefaultValue.labelKey = \"DefaultValue\";\r\n          this.SourceFuncDefaultValue.dataSource = result;\r\n          this.SourceFuncDefaultValue.singleSelection = true;\r\n          this.SourceFuncDefaultValue.allowSearchFilter = true;\r\n          this.SourceFuncDefaultValue.isRequired = true;\r\n        }\r\n        else {\r\n          this.EditSourceFuncValue = new DropdownOptions();\r\n          this.EditSourceFuncValue.name = \"EditSourceFuncValue\";\r\n          this.EditSourceFuncValue.labelKey = \"Value\";\r\n          this.EditSourceFuncValue.dataSource = result;\r\n          this.EditSourceFuncValue.singleSelection = true;\r\n          this.EditSourceFuncValue.allowSearchFilter = true;\r\n          this.EditSourceFuncValue.isRequired = true;\r\n\r\n          this.EditSourceFuncDefaultValue = new DropdownOptions();\r\n          this.EditSourceFuncDefaultValue.name = \"EditSourceFuncDefaultValue\";\r\n          this.EditSourceFuncDefaultValue.labelKey = \"DefaultValue\";\r\n          this.EditSourceFuncDefaultValue.dataSource = result;\r\n          this.EditSourceFuncDefaultValue.singleSelection = true;\r\n          this.EditSourceFuncDefaultValue.allowSearchFilter = true;\r\n          this.EditSourceFuncDefaultValue.isRequired = true;\r\n        }\r\n        this.ShowSourceFunctionData = true;\r\n      }\r\n      this.sourceFunctionDataNotLoaded = false;\r\n    }, (error) => {\r\n      if (error.status == 500) {\r\n        this.utilityService.stopBlockUI();\r\n        this.utilityService.notifyErrorMessage(error);\r\n      }\r\n      else { //404\r\n        this.utilityService.stopBlockUI();\r\n        this.showFunctionNotFoundError = true;\r\n        this.ShowSourceFunctionData = false;\r\n        this.sourceFunctionDataNotLoaded = true;\r\n      }\r\n\r\n    });\r\n  }\r\n  changeSourceFunction() {\r\n    this.ShowSourceFunctionData = false;\r\n    this.sourceFunctionDataNotLoaded = true;\r\n  }\r\n  //#endregion\r\n\r\n  //#region delete configuration\r\n  showDeleteConfigurationModal(configurationID: string) {\r\n    this.deleteConfigurationId = configurationID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteConfigurationId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteConfiguration;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  deleteConfiguration = (id: string): Observable<any> => {\r\n    return this.ConfigurationsService.deleteConfiguration(id);\r\n  };\r\n  //#endregion\r\n\r\n\r\n  ///////////Start of  Reload Resource part//////////////////////\r\n  showReloadResourceModal() {\r\n\r\n    this.reloadControlLoaded = false;\r\n\r\n    this.reloadConfirmationOptions = new ConfirmationModalOptions();\r\n    this.reloadConfirmationOptions.serviceSubmitFunction = this.reloadJsonFunction;\r\n    this.reloadConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.reloadConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"ReloadConfigurationsConfirmation\");\r\n    this.reloadConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"ReloadConfigurations\");\r\n    this.reloadConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Reload\");\r\n    this.reloadConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Danger;\r\n    this.reloadConfirmationOptions.successNotificationMessage = this.utilityService.getResourceValue(\"SuccessMessage\");\r\n\r\n\r\n    this.reloadControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.reloadConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  reloadJsonFunction = (): Observable<any> => {\r\n    return this.ConfigurationsService.reloadJsonFile();\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div *ngIf=\"showPageContent\">\r\n    <!-- begin::Header -->\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n          <form [formGroup]=\"ConfigurationForm\">\r\n            <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"ConfigurationForm\"></BBSF-TextBox>\r\n          </form>\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <div *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" ngbDropdown class=\"d-inline-block\"\r\n            [ngStyle]=\"{ display: showPageContent == true ? 'block' : 'none' }\">\r\n            <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n              class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n              <i class=\"fas fa-filter me-1\"></i>\r\n              {{ utilityService.getResourceValue('Filter') }}\r\n            </button>\r\n            <div *ngIf=\"isFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n              class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n              <form [formGroup]=\"ConfigurationForm\">\r\n                <div class=\"px-7 py-5\">\r\n                  <div class=\"row\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">\r\n                    <div>\r\n                      <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                        [group]=\"ConfigurationForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"d-flex justify-content-end\">\r\n                    <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\"\r\n                      name=\"configurationResetButton\">\r\n                      {{ utilityService.getResourceValue('Reset') }}\r\n                    </button>\r\n                  </div>\r\n                </div>\r\n              </form>\r\n            </div>\r\n          </div>\r\n\r\n          <!-- begin::Menu -->\r\n          <button id=\"btnActivate\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\"\r\n            (click)=\"showReloadResourceModal()\">\r\n            <i class=\"fas fa-sync-alt me-1\"></i>\r\n            {{ utilityService.getResourceValue('Reload') }}\r\n          </button>\r\n\r\n          <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n            (click)=\"showAddConfigurationModal(AddConfigurationModal)\">\r\n            <i class=\"fas fa-plus me-1\"></i>\r\n            {{ utilityService.getResourceValue('Add') }}\r\n          </button>\r\n          <!-- end::Menu -->\r\n        </div>\r\n      </div>\r\n      <!-- end::Header -->\r\n      <!-- begin::Body -->\r\n      <div class=\"card-body py-3\">\r\n        <!-- begin::Table container -->\r\n        <div class=\"table-responsive\">\r\n          <!-- begin::Table -->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Key') }}</th>\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Value') }}</th>\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Type') }}</th>\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Scope') }}</th>\r\n                <th class=\"min-w-150px\">{{ utilityService.getResourceValue('UserPermissionSet') }}</th>\r\n                <th class=\"min-w-150\" *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">\r\n                  {{ utilityService.getResourceValue('Organization') }}</th>\r\n                <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n              <tr *ngFor=\"let Configuration of clientSidePagingResult\">\r\n                <td class=\"text-dark\">{{ Configuration.key }}</td>\r\n                <td>{{ Configuration.value }}</td>\r\n                <td>{{ Configuration.valueTypeNameStr }}</td>\r\n                <td>{{ Configuration.scopeName }}</td>\r\n                <td>{{ Configuration.permissionSetName }}{{ Configuration.userName }}</td>\r\n                <td *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\">{{ Configuration.organizationName ?? '-' }}</td>\r\n                <td>\r\n                  <div>\r\n                    <button mat-button [matMenuTriggerFor]=\"config\"\r\n                      class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                      <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                    </button>\r\n                    <mat-menu class=\"mat-menu-content\" #config=\"matMenu\">\r\n                      <button class=\"drop-item px-3\" ngbDropdownItem\r\n                        (click)=\"showEditConfigurationModal(Configuration.iD_GUID, EditConfigurationModal)\">\r\n                        <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                      </button>\r\n                      <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                        (click)=\"showDeleteConfigurationModal(Configuration.iD_GUID)\">\r\n                        <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                      </button>\r\n                    </mat-menu>\r\n                  </div>\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n                <td colspan=\"6\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n          <!-- end::Table -->\r\n        </div>\r\n        <!-- end::Table container -->\r\n      </div>\r\n      <!-- begin paging-->\r\n      <div class=\"card-footer border-0\">\r\n        <BBSF-Paging (Items)=\"setConfigurationListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"ConfigurationPaging\"\r\n          [group]=\"ConfigurationForm\" #ConfigurationPagingViewElement>\r\n        </BBSF-Paging>\r\n      </div>\r\n      <!-- End paging-->\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- #region Add modal -->\r\n<ng-template #AddConfigurationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('AddConfiguration') }}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"addConfigurationFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"Key\" [group]=\"addConfigurationForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"loadJsonToggle\" [group]=\"addConfigurationForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"Category\" [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"Scope\" (onChange)=\"ChangeScopeValue($event)\" [group]=\"addConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"addOrganization\"\r\n            [group]=\"addConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"PermissionSet\" *ngIf=\"ShowPermissionList\" [group]=\"addConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"User\" *ngIf=\"ShowUsersList\" [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"Type\" (onChange)=\"ChangeTypeValue($event)\" [group]=\"addConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"Value\" *ngIf=\"ShowValueAndDefaultValue\" [group]=\"addConfigurationForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"DefaultValue\" *ngIf=\"ShowValueAndDefaultValue\" [group]=\"addConfigurationForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Toggleslide [options]=\"ValueToggel\" *ngIf=\"ShowValueToggleAndDefaultValue\"\r\n            [group]=\"addConfigurationForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Toggleslide [options]=\"DefaultValueToggel\" *ngIf=\"ShowValueToggleAndDefaultValue\"\r\n            [group]=\"addConfigurationForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"Source\" *ngIf=\"ShowDropDownSource\" (onChange)=\"ChangeSource($event)\"\r\n            [group]=\"addConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div *ngIf=\"ShowSourceFunctionPath\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-9\">\r\n            <BBSF-TextBox [options]=\"FunctionSourcePath\" [group]=\"addConfigurationForm\"\r\n              (onChange)=\"changeSourceFunction()\"> </BBSF-TextBox>\r\n            <div *ngIf=\"showFunctionNotFoundError\" class=\"text-danger\">\r\n              {{ utilityService.getResourceValue('SourceFunctionNotFound') }}\r\n            </div>\r\n          </div>\r\n          <div class=\"col-md-3 d-flex justify-content-end align-items-center mb-4\">\r\n            <button type=\"button\" class=\"btn btn-sm btn-secondary\" (click)=\"SearchForFunction(true)\">\r\n              <span class=\"float-right\"><i\r\n                  class=\"fas fa-search\"></i>{{ utilityService.getResourceValue('Search') }}</span>\r\n            </button>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"SourceFuncValue\" *ngIf=\"ShowSourceFunctionData\"\r\n              [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"SourceFuncDefaultValue\" *ngIf=\"ShowSourceFunctionData\"\r\n              [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div *ngIf=\"ShowLookupList\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"Lookup\" (onChange)=\"ChangeLookup($event, true)\"\r\n              [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"LookupValue\" *ngIf=\"ShowLookupItemsList\" [group]=\"addConfigurationForm\">\r\n            </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"LookupDefaultValue\" *ngIf=\"ShowLookupItemsList\"\r\n              [group]=\"addConfigurationForm\"> </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseConfigurationModal id=\"CloseConfigurationModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\" [disabled]=\"sourceFunctionDataNotLoaded\">\r\n          {{ utilityService.getResourceValue('SaveLabel') }}\r\n        </button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!-- #endregion -->\r\n\r\n<!-- #region edit modal -->\r\n<ng-template #EditConfigurationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Edit') }}\r\n        {{ utilityService.getResourceValue('Configuration') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditConfigurationFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"EditKey\" [group]=\"EditConfigurationForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"editLoadJsonToggle\" [group]=\"EditConfigurationForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList *ngIf=\"isMultiTenancyAllowed && isSuperAdmin\" [options]=\"editOrganization\"\r\n            [group]=\"EditConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditPermissionSet\" *ngIf=\"ShowPermissionList\" [group]=\"EditConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditUser\" *ngIf=\"ShowUsersList\" [group]=\"EditConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditTextValue\" *ngIf=\"ShowValueAndDefaultValue\" [group]=\"EditConfigurationForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditTextDefaultValue\" *ngIf=\"ShowValueAndDefaultValue\"\r\n            [group]=\"EditConfigurationForm\"> </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Toggleslide [options]=\"EditValueToggele\" *ngIf=\"ShowValueToggleAndDefaultValue\"\r\n            [group]=\"EditConfigurationForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Toggleslide [options]=\"EditDefaultValueToggele\" *ngIf=\"ShowValueToggleAndDefaultValue\"\r\n            [group]=\"EditConfigurationForm\">\r\n          </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"ShowSourceFunctionPath\">\r\n        <div class=\"col-md-9\">\r\n          <BBSF-TextBox [options]=\"EditFunctionSourcePath\" [group]=\"EditConfigurationForm\"\r\n            (onChange)=\"changeSourceFunction()\"> </BBSF-TextBox>\r\n          <div *ngIf=\"showFunctionNotFoundError\" class=\"text-danger\">\r\n            {{ utilityService.getResourceValue('SourceFunctionNotFound') }}\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-3 d-flex justify-content-end align-items-center mb-4\">\r\n          <button type=\"button\" class=\"btn btn-sm btn-secondary\" (click)=\"SearchForFunction(false)\">\r\n            <span class=\"float-right\"><i\r\n                class=\"fas fa-search\"></i>{{ utilityService.getResourceValue('Search') }}</span>\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditSourceFuncValue\" *ngIf=\"ShowSourceFunctionData\"\r\n            [group]=\"EditConfigurationForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditSourceFuncDefaultValue\" *ngIf=\"ShowSourceFunctionData\"\r\n            [group]=\"EditConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditLookup\" *ngIf=\"ShowLookupList\" (onChange)=\"ChangeLookup($event, false)\"\r\n            [group]=\"EditConfigurationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"ShowLookupItemsList\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditLookupValue\" [group]=\"EditConfigurationForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"ShowLookupItemsList\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditLookupDefaultValue\" [group]=\"EditConfigurationForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditConfigurationModal id=\"CloseEditConfigurationModal\" type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\" [disabled]=\"sourceFunctionDataNotLoaded\">\r\n          {{ utilityService.getResourceValue('SaveLabel') }}\r\n        </button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!-- #endregion -->\r\n\r\n<!-- #region delete modal -->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n<!-- #endregion -->\r\n\r\n<!-- #region reload modal -->\r\n<BBSF-ConfirmationModal *ngIf=\"reloadControlLoaded\" [options]=\"reloadConfirmationOptions\"\r\n  id=\"ReloadConfirmationModalControl\" #ReloadConfirmationModalControl></BBSF-ConfirmationModal>\r\n<!-- #endregion -->","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-configurations',\r\n    templateUrl: './configurations.component.html',\r\n    standalone: false\r\n})\r\nexport class ConfigurationsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ConfigurationComponent } from './configuration/configuration.component';\r\nimport { ConfigurationsComponent } from './configurations.component';\r\nimport { AuthenticationConfigurationComponent } from './auth-configuration/auth-configuration.component';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: ConfigurationsComponent,\r\n    children: [\r\n      {\r\n        path: \"Configuration\",\r\n        component: ConfigurationComponent\r\n      },\r\n      {\r\n        path: \"authentication-configuration\",\r\n        component: AuthenticationConfigurationComponent\r\n      },\r\n      {\r\n        path: \"\",\r\n        redirectTo: 'Configuration',\r\n        pathMatch: 'full'\r\n      },\r\n    ]\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class ConfigurationsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { NgbModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { AuthService, BBSFTranslateService, BBSFUtilitiesModule, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { ConfigurationsService } from '../shared/Services/ConfigurationsService.service';\r\nimport { AuthenticationConfigurationComponent, ConfigurationComponent, ConfigurationsComponent, ConfigurationsRoutingModule, EditAuthConfigurationComponent } from '.';\r\nimport { UserService } from '../shared/Services/userService.service';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ConfigurationsComponent,\r\n    ConfigurationComponent,\r\n    AuthenticationConfigurationComponent,\r\n    EditAuthConfigurationComponent\r\n  ],\r\n  imports: [\r\n    BlockUIModule.forRoot(),\r\n    CommonModule,\r\n    ConfigurationsRoutingModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    ClipboardModule,\r\n    ReactiveFormsModule,\r\n    InlineSVGModule,\r\n    BBSFUtilitiesModule,\r\n    EmptyDataModule,\r\n    NgbNavModule\r\n  ],\r\n  providers: [\r\n    UserService,\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    ConfigurationsService\r\n  ]\r\n})\r\nexport class ConfigurationsModule { }\r\n","\r\nimport { AutocompleteDTO, EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class ParticipantModel {\r\n  ID_GUID: string;\r\n  ParticipantTypeItemID_GUID: string;\r\n  ParticipantTypeItemIDsString: string;\r\n  CorrelationID: any;\r\n  PermissionSetID_GUID: string;\r\n  UserID_GUID: string;\r\n  PermissionSetIDsString: string;\r\n  WorkflowVariableID: number;\r\n  WorkflowActivityID?: number;\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  ParticipantName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  ParticipantTypeItemName: EnglishArabicDTO = new EnglishArabicDTO();\r\n\r\n}\r\n","import { AutocompleteDTO, EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { ParticipantModel } from './ParticipantModel';\r\nexport class ImpersonationRuleModel {\r\n  ID_GUID: string;\r\n  UserAutoCompleteDTO: any;\r\n  ExpiresAt?: Date;\r\n  IsActive: boolean;\r\n  SourceParticipantDTO: ParticipantModel = new ParticipantModel;\r\n  DestinationParticipantDTO: ParticipantModel = new ParticipantModel;\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { ImpersonationRuleModel } from \"../models/ImpersonationRuleModels/ImpersonationRuleModel\";\r\n\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ImpersonationRuleService {\r\n  ApiUrl = \"/api/admin/ImpersonationRule/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddImpersonationRule');\r\n  }\r\n  addImpersonationRule(AddModel: ImpersonationRuleModel) {\r\n    return this.http.post(this.ApiUrl + 'AddImpersonationRule', AddModel);\r\n  }\r\n  getEditImpersonationRule(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditImpersonationRule', params);\r\n\r\n  }\r\n  editImpersonationRule(EditModel: ImpersonationRuleModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditImpersonationRule', EditModel);\r\n  }\r\n  deleteImpersonationRule(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteImpersonationRule', JSON.stringify(id));\r\n  }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AutocompleteDTO, AutocompleteOptions, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, DatePickerOptions, DropdownOptions, FilterItem, FilterType, ForceDirection, FormOptions, InputType, PagingActionMode, PagingComponent, PagingOptions, PickerType, SelectMode, StartView, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ImpersonationRuleModel } from '../../shared/models/ImpersonationRuleModels/ImpersonationRuleModel';\r\nimport { ImpersonationRuleService } from './../../shared/Services/ImpersonationRuleService.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ParticipantType } from '../../shared/constants';\r\n\r\n@Component({\r\n    selector: 'lib-impersonation-rules',\r\n    templateUrl: './impersonation-rules.component.html',\r\n    standalone: false\r\n})\r\nexport class ImpersonationRulesComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/ImpersonationRule/\";\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  ImpersonationForm = new FormGroup({});\r\n  ImpersonationPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  ImpersonationPaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('ImpersonationPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  PermissionSetList: any[] = [];\r\n  ParticipantTypeList: any[] = [];\r\n\r\n  //Add Model Controls\r\n  AddImpersonationForm = new FormGroup({});\r\n  AddImpersonationFormOptions = new FormOptions;\r\n  AddSourceParticipantType: DropdownOptions;\r\n  AddDestinationParticipantType: DropdownOptions;\r\n  AddSourcePermissionSetList: DropdownOptions;\r\n  AddDestinationPermissionSetList: DropdownOptions;\r\n  AddSourceUserAutoComplete: AutocompleteOptions;\r\n  AddDestinationUserAutoComplete: AutocompleteOptions;\r\n  AddIsActive: CheckBoxOptions;\r\n  AddExpiresAt: DatePickerOptions;\r\n  AddShowSourcePermissionList: boolean = false;\r\n  AddShowSourceUserAutoComplete: boolean = false;\r\n  AddShowDestinationPermissionList: boolean = false;\r\n  AddShowDestinationUserAutoComplete: boolean = false;\r\n\r\n\r\n  //Edit Model Controls\r\n  EditImpersonationForm = new FormGroup({});\r\n  EditImpersonationFormOptions = new FormOptions;\r\n  EditSourceParticipantType: DropdownOptions;\r\n  EditDestinationParticipantType: DropdownOptions;\r\n  EditSourcePermissionSetList: DropdownOptions;\r\n  EditDestinationPermissionSetList: DropdownOptions;\r\n  EditSourceUserAutoComplete: AutocompleteOptions;\r\n  EditDestinationUserAutoComplete: AutocompleteOptions;\r\n  EditIsActive: CheckBoxOptions;\r\n  EditExpiresAt: DatePickerOptions;\r\n  EditShowSourcePermissionList: boolean = false;\r\n  EditShowSourceUserAutoComplete: boolean = false;\r\n  EditShowDestinationPermissionList: boolean = false;\r\n  EditShowDestinationUserAutoComplete: boolean = false;\r\n  ImpersonationId: string;\r\n  SourceParticipantId: string;\r\n  DestinationParticipantId: string;\r\n\r\n  //delete  Model Controls\r\n  deleteImpersonationRuleId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private environmentService: EnvironmentService,\r\n    private ImpersonationRuleService: ImpersonationRuleService, private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"ImpersonationRules\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchBySource\");\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.ImpersonationPaging = new PagingOptions();\r\n    this.ImpersonationPaging.actionPostURL = this.ApiUrl + 'GetImpersonationRuleByFilter';\r\n    this.ImpersonationPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.ImpersonationPaging.filters = [this.TextInputFilter];\r\n    this.ImpersonationPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  //Paging functions\r\n  setImpersonationListResult(result) {\r\n    this.ImpersonationPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          var sourceParticipantName = item.sourceParticipantDTO.participantName;\r\n          var destinationParticipantName = item.destinationParticipantDTO.participantName;\r\n          return (\r\n            sourceParticipantName.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || sourceParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase())\r\n            || destinationParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase())\r\n            || destinationParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.ImpersonationPagingResult;\r\n  }\r\n\r\n  //Add impersonation rule functions\r\n  showAddImpersonationModal(AddImpersonationModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.ImpersonationRuleService.loadAddDropdowns().subscribe((result) => {\r\n      let DropdownLists = result as any;\r\n      this.PermissionSetList = DropdownLists.permissionList;\r\n      this.ParticipantTypeList = DropdownLists.participantTypeList;\r\n      this.AddImpersonationForm = new FormGroup({});\r\n\r\n      this.AddImpersonationFormOptions = new FormOptions();\r\n      this.AddImpersonationFormOptions.formGroup = this.AddImpersonationForm;\r\n      this.AddImpersonationFormOptions.getModelFunction = this.getAddImpersonationRuleModel;\r\n      this.AddImpersonationFormOptions.serviceSubmitFunction = this.getAddImpersonationRuleFunction;\r\n      this.AddImpersonationFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddShowDestinationPermissionList = false;\r\n      this.AddShowDestinationUserAutoComplete = false;\r\n      this.AddShowSourcePermissionList = false;\r\n      this.AddShowSourceUserAutoComplete = false;\r\n\r\n      this.AddSourceParticipantType = new DropdownOptions();\r\n      this.AddSourceParticipantType.name = \"SourceParticipantDTO.ParticipantTypeItemID_GUID\";\r\n      this.AddSourceParticipantType.labelKey = \"SourceParticipantType\";\r\n      this.AddSourceParticipantType.selectedItems = null;\r\n      this.AddSourceParticipantType.dataSource = this.ParticipantTypeList;\r\n      this.AddSourceParticipantType.singleSelection = true;\r\n      this.AddSourceParticipantType.allowSearchFilter = true;\r\n      this.AddSourceParticipantType.isRequired = true;\r\n\r\n      this.AddDestinationParticipantType = new DropdownOptions();\r\n      this.AddDestinationParticipantType.name = \"DestinationParticipantDTO.ParticipantTypeItemID_GUID\";\r\n      this.AddDestinationParticipantType.labelKey = \"DestinationParticipantType\";\r\n      this.AddDestinationParticipantType.selectedItems = null;\r\n      this.AddDestinationParticipantType.dataSource = this.ParticipantTypeList;\r\n      this.AddDestinationParticipantType.singleSelection = true;\r\n      this.AddDestinationParticipantType.allowSearchFilter = true;\r\n      this.AddDestinationParticipantType.isRequired = true;\r\n\r\n      this.AddSourcePermissionSetList = new DropdownOptions();\r\n      this.AddSourcePermissionSetList.name = \"SourceParticipantDTO.PermissionSetID_GUID\";\r\n      this.AddSourcePermissionSetList.labelKey = \"SourcePermissionSetList\";\r\n      this.AddSourcePermissionSetList.selectedItems = null;\r\n      this.AddSourcePermissionSetList.dataSource = this.PermissionSetList;\r\n      this.AddSourcePermissionSetList.singleSelection = true;\r\n      this.AddSourcePermissionSetList.allowSearchFilter = true;\r\n      this.AddSourcePermissionSetList.isRequired = true;\r\n\r\n      this.AddDestinationPermissionSetList = new DropdownOptions();\r\n      this.AddDestinationPermissionSetList.name = \"DestinationParticipantDTO.PermissionSetID_GUID\";\r\n      this.AddDestinationPermissionSetList.labelValue = \"DestinationPermissionSetList\";\r\n      this.AddDestinationPermissionSetList.labelKey = \"DestinationPermissionSetList\";\r\n      this.AddDestinationPermissionSetList.selectedItems = null;\r\n      this.AddDestinationPermissionSetList.dataSource = this.PermissionSetList;\r\n      this.AddDestinationPermissionSetList.singleSelection = true;\r\n      this.AddDestinationPermissionSetList.allowSearchFilter = true;\r\n      this.AddDestinationPermissionSetList.isRequired = true;\r\n\r\n      this.AddSourceUserAutoComplete = new AutocompleteOptions();\r\n      this.AddSourceUserAutoComplete.name = \"SourceParticipantDTO.UserID_GUID\";\r\n      this.AddSourceUserAutoComplete.labelKey = \"User\";\r\n      this.AddSourceUserAutoComplete.type = InputType.Text;\r\n      this.AddSourceUserAutoComplete.isRequired = true;\r\n      this.AddSourceUserAutoComplete.value = null;\r\n      this.AddSourceUserAutoComplete.forceDirection = ForceDirection.English;\r\n      this.AddSourceUserAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUser\";\r\n      this.AddSourceUserAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n      this.AddDestinationUserAutoComplete = new AutocompleteOptions();\r\n      this.AddDestinationUserAutoComplete.name = \"DestinationParticipantDTO.UserID_GUID\";\r\n      this.AddDestinationUserAutoComplete.labelKey = \"User\";\r\n      this.AddDestinationUserAutoComplete.type = InputType.Text;\r\n      this.AddDestinationUserAutoComplete.isRequired = true;\r\n      this.AddDestinationUserAutoComplete.value = null;\r\n      this.AddDestinationUserAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUser\";\r\n      this.AddDestinationUserAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n      this.AddIsActive = new CheckBoxOptions();\r\n      this.AddIsActive.name = \"IsActive\";\r\n      this.AddIsActive.labelKey = \"Active\";\r\n      this.AddIsActive.value = true;\r\n\r\n      this.AddExpiresAt = new DatePickerOptions();\r\n      this.AddExpiresAt.name = \"ExpiresAt\";\r\n      this.AddExpiresAt.labelKey = \"ExpiresAt\";\r\n      this.AddExpiresAt.isRequired = true;\r\n      this.AddExpiresAt.startView = StartView.Month;\r\n      this.AddExpiresAt.pickerType = PickerType.Calendar;\r\n      this.AddExpiresAt.selectMode = SelectMode.Single;\r\n      this.AddExpiresAt.startDate = new Date();\r\n\r\n      this.modalService.open(AddImpersonationModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n  getAddImpersonationRuleModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddImpersonationForm.value as any;\r\n\r\n    let AddModel: ImpersonationRuleModel = new ImpersonationRuleModel();\r\n    AddModel.SourceParticipantDTO.ParticipantTypeItemID_GUID = ResultModel[\"SourceParticipantDTO.ParticipantTypeItemID_GUID\"];\r\n    AddModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID = ResultModel[\"DestinationParticipantDTO.ParticipantTypeItemID_GUID\"];\r\n    AddModel.ExpiresAt = ResultModel.ExpiresAt;\r\n    AddModel.IsActive = ResultModel.IsActive;\r\n    if (ResultModel[\"DestinationParticipantDTO.UserID_GUID\"])\r\n      AddModel.DestinationParticipantDTO.UserID_GUID = ResultModel[\"DestinationParticipantDTO.UserID_GUID\"].key;\r\n    else\r\n      AddModel.DestinationParticipantDTO.PermissionSetID_GUID = ResultModel[\"DestinationParticipantDTO.PermissionSetID_GUID\"];\r\n\r\n    if (ResultModel[\"SourceParticipantDTO.UserID_GUID\"])\r\n      AddModel.SourceParticipantDTO.UserID_GUID = ResultModel[\"SourceParticipantDTO.UserID_GUID\"].key;\r\n    else\r\n      AddModel.SourceParticipantDTO.PermissionSetID_GUID = ResultModel[\"SourceParticipantDTO.PermissionSetID_GUID\"];\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddImpersonationRuleFunction = (AddModel): Observable<any> => {\r\n    return this.ImpersonationRuleService.addImpersonationRule(AddModel);\r\n  };\r\n\r\n\r\n  addDestinationParticipantOnChange(key) {\r\n    key = key?.toLowerCase();\r\n    switch (key) {\r\n      case ParticipantType.PermissionSet:\r\n        this.AddShowDestinationPermissionList = true;\r\n        this.AddShowDestinationUserAutoComplete = false;\r\n        break;\r\n      case ParticipantType.User:\r\n        this.AddShowDestinationPermissionList = false;\r\n        this.AddShowDestinationUserAutoComplete = true;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n\r\n  }\r\n\r\n  addSourceParticipantOnChange(key) {\r\n    key = key?.toLowerCase();\r\n    switch (key) {\r\n      case ParticipantType.PermissionSet:\r\n        this.AddShowSourcePermissionList = true;\r\n        this.AddShowSourceUserAutoComplete = false;\r\n        break;\r\n      case ParticipantType.User:\r\n        this.AddShowSourcePermissionList = false;\r\n        this.AddShowSourceUserAutoComplete = true;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  //Edit impersonation rule functions\r\n  showEditImpersonationModal(impersonationID: string, editImpersonationModal) {\r\n    this.ImpersonationId = impersonationID;\r\n\r\n    this.ImpersonationRuleService.getEditImpersonationRule(this.ImpersonationId).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let impersonation = resultObj.model;\r\n      let lists = resultObj.lists;\r\n      this.PermissionSetList = lists.permissionList;\r\n      this.ParticipantTypeList = lists.participantTypeList;\r\n\r\n      this.EditImpersonationForm = new FormGroup({});\r\n\r\n      this.EditImpersonationFormOptions = new FormOptions();\r\n      this.EditImpersonationFormOptions.formGroup = this.EditImpersonationForm;\r\n      this.EditImpersonationFormOptions.getModelFunction = this.getEditImpersonationRuleModel;\r\n      this.EditImpersonationFormOptions.serviceSubmitFunction = this.getEditImpersonationRuleFunction;\r\n      this.EditImpersonationFormOptions.pagingReference = this.pagingElement;\r\n      this.EditImpersonationFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      this.EditShowDestinationPermissionList = false;\r\n      this.EditShowDestinationUserAutoComplete = false;\r\n      this.EditShowSourcePermissionList = false;\r\n      this.EditShowSourceUserAutoComplete = false;\r\n\r\n      if (impersonation.sourceParticipantDTO.participantTypeItemID_GUID != null && impersonation.destinationParticipantDTO.participantTypeItemID_GUID) {\r\n        this.editDestinationParticipantOnChange(impersonation.destinationParticipantDTO.participantTypeItemID_GUID);\r\n        this.editSourceParticipantOnChange(impersonation.sourceParticipantDTO.participantTypeItemID_GUID);\r\n      }\r\n\r\n      this.utilityService.startBlockUI();\r\n\r\n      this.SourceParticipantId = impersonation.sourceParticipantDTO.iD_GUID;\r\n      this.DestinationParticipantId = impersonation.destinationParticipantDTO.iD_GUID;\r\n      this.EditSourceParticipantType = new DropdownOptions();\r\n      this.EditSourceParticipantType.name = \"SourceParticipantDTO.ParticipantTypeItemID_GUID\";\r\n      this.EditSourceParticipantType.labelKey = \"SourceParticipantType\";\r\n      this.EditSourceParticipantType.selectedItems = impersonation.sourceParticipantDTO.participantTypeItemID_GUID?.toLowerCase();\r\n      this.EditSourceParticipantType.dataSource = this.ParticipantTypeList;\r\n      this.EditSourceParticipantType.singleSelection = true;\r\n      this.EditSourceParticipantType.allowSearchFilter = true;\r\n      this.EditSourceParticipantType.isRequired = true;\r\n\r\n      this.EditDestinationParticipantType = new DropdownOptions();\r\n      this.EditDestinationParticipantType.name = \"DestinationParticipantDTO.ParticipantTypeItemID_GUID\";\r\n      this.EditDestinationParticipantType.labelKey = \"DestinationParticipantType\";\r\n      this.EditDestinationParticipantType.selectedItems = impersonation.destinationParticipantDTO.participantTypeItemID_GUID?.toLowerCase();\r\n      this.EditDestinationParticipantType.dataSource = this.ParticipantTypeList;\r\n      this.EditDestinationParticipantType.singleSelection = true;\r\n      this.EditDestinationParticipantType.allowSearchFilter = true;\r\n      this.EditDestinationParticipantType.isRequired = true;\r\n\r\n      let sourcePermissionSetSelectedItem;\r\n      let sourceUserModel = new AutocompleteDTO();\r\n      if (impersonation.sourceParticipantDTO.participantTypeItemID_GUID?.toLowerCase() == ParticipantType.User) {\r\n        sourceUserModel.key = impersonation.sourceParticipantDTO.userID_GUID;\r\n        sourceUserModel.value = impersonation.sourceParticipantDTO.participantNameStr;\r\n      }\r\n      else {\r\n        sourcePermissionSetSelectedItem = impersonation.sourceParticipantDTO.permissionSetID_GUID?.toLowerCase();\r\n      }\r\n      this.EditSourcePermissionSetList = new DropdownOptions();\r\n      this.EditSourcePermissionSetList.name = \"SourceParticipantDTO.PermissionSetID_GUID\";\r\n      this.EditSourcePermissionSetList.labelKey = \"SourcePermissionSetList\";\r\n      this.EditSourcePermissionSetList.selectedItems = sourcePermissionSetSelectedItem;\r\n      this.EditSourcePermissionSetList.dataSource = this.PermissionSetList;\r\n      this.EditSourcePermissionSetList.singleSelection = true;\r\n      this.EditSourcePermissionSetList.allowSearchFilter = true;\r\n      this.EditSourcePermissionSetList.isRequired = true;\r\n\r\n      this.EditSourceUserAutoComplete = new AutocompleteOptions();\r\n      this.EditSourceUserAutoComplete.name = \"SourceParticipantDTO.UserID_GUID\";\r\n      this.EditSourceUserAutoComplete.labelKey = \"User\";\r\n      this.EditSourceUserAutoComplete.type = InputType.Text;\r\n      this.EditSourceUserAutoComplete.isRequired = true;\r\n      this.EditSourceUserAutoComplete.selectedValue = sourceUserModel;\r\n      this.EditSourceUserAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUser\";\r\n      this.EditSourceUserAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n      let destinationPermissionSetSelectedItem;\r\n      let destinationUserModel = new AutocompleteDTO();\r\n      if (impersonation.destinationParticipantDTO.participantTypeItemID_GUID == ParticipantType.User) {\r\n        destinationUserModel.key = impersonation.destinationParticipantDTO.userID_GUID;\r\n        destinationUserModel.value = impersonation.destinationParticipantDTO.participantNameStr;\r\n      }\r\n      else {\r\n        destinationPermissionSetSelectedItem = impersonation.destinationParticipantDTO.permissionSetID_GUID?.toLowerCase();\r\n      }\r\n      this.EditDestinationPermissionSetList = new DropdownOptions();\r\n      this.EditDestinationPermissionSetList.name = \"DestinationParticipantDTO.PermissionSetID_GUID\";\r\n      this.EditDestinationPermissionSetList.labelKey = \"DestinationPermissionSetList\";\r\n      this.EditDestinationPermissionSetList.selectedItems = destinationPermissionSetSelectedItem;\r\n      this.EditDestinationPermissionSetList.dataSource = this.PermissionSetList;\r\n      this.EditDestinationPermissionSetList.singleSelection = true;\r\n      this.EditDestinationPermissionSetList.allowSearchFilter = true;\r\n      this.EditDestinationPermissionSetList.isRequired = true;\r\n\r\n\r\n      this.EditDestinationUserAutoComplete = new AutocompleteOptions();\r\n      this.EditDestinationUserAutoComplete.name = \"DestinationParticipantDTO.UserID_GUID\";\r\n      this.EditDestinationUserAutoComplete.labelKey = \"User\";\r\n      this.EditDestinationUserAutoComplete.type = InputType.Text;\r\n      this.EditDestinationUserAutoComplete.isRequired = true;\r\n      this.EditDestinationUserAutoComplete.selectedValue = destinationUserModel;\r\n      this.EditDestinationUserAutoComplete.actionURL = this.ApiUrl + \"AutoCompleteUser\";\r\n      this.EditDestinationUserAutoComplete.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n      this.EditIsActive = new CheckBoxOptions();\r\n      this.EditIsActive.name = \"IsActive\";\r\n      this.EditIsActive.labelKey = \"Active\";\r\n      this.EditIsActive.value = impersonation.isActive;\r\n\r\n      this.EditExpiresAt = new DatePickerOptions();\r\n      this.EditExpiresAt.name = \"ExpiresAt\";\r\n      this.EditExpiresAt.labelKey = \"ExpiresAt\";\r\n      this.EditExpiresAt.isRequired = true;\r\n      this.EditExpiresAt.value = impersonation.expiresAt;\r\n      this.EditExpiresAt.startView = StartView.Month;\r\n      this.EditExpiresAt.pickerType = PickerType.Calendar;\r\n      this.EditExpiresAt.selectMode = SelectMode.Single;\r\n      this.EditExpiresAt.startDate = new Date();\r\n\r\n\r\n      this.modalService.open(editImpersonationModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n  }\r\n\r\n  getEditImpersonationRuleModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditImpersonationForm.value as any;\r\n\r\n    let EditModel: ImpersonationRuleModel = new ImpersonationRuleModel();\r\n    EditModel.ID_GUID = this.ImpersonationId;\r\n    EditModel.DestinationParticipantDTO.ID_GUID = this.DestinationParticipantId;\r\n    EditModel.SourceParticipantDTO.ID_GUID = this.SourceParticipantId;\r\n    EditModel.SourceParticipantDTO.ParticipantTypeItemID_GUID = ResultModel[\"SourceParticipantDTO.ParticipantTypeItemID_GUID\"];\r\n    EditModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID = ResultModel[\"DestinationParticipantDTO.ParticipantTypeItemID_GUID\"];\r\n    EditModel.ExpiresAt = ResultModel.ExpiresAt;\r\n    EditModel.IsActive = ResultModel.IsActive;\r\n    if (EditModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID == ParticipantType.User)\r\n      EditModel.DestinationParticipantDTO.UserID_GUID = ResultModel[\"DestinationParticipantDTO.UserID_GUID\"].key;\r\n    else\r\n      EditModel.DestinationParticipantDTO.PermissionSetID_GUID = ResultModel[\"DestinationParticipantDTO.PermissionSetID_GUID\"];\r\n    if (EditModel.SourceParticipantDTO.ParticipantTypeItemID_GUID == ParticipantType.User)\r\n      EditModel.SourceParticipantDTO.UserID_GUID = ResultModel[\"SourceParticipantDTO.UserID_GUID\"].key;\r\n    else\r\n      EditModel.SourceParticipantDTO.PermissionSetID_GUID = ResultModel[\"SourceParticipantDTO.PermissionSetID_GUID\"];\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditImpersonationRuleFunction = (EditModel): Observable<any> => {\r\n    return this.ImpersonationRuleService.editImpersonationRule(EditModel);\r\n  };\r\n\r\n  editDestinationParticipantOnChange(key) {\r\n    key = key?.toLowerCase();\r\n    switch (key) {\r\n      case ParticipantType.PermissionSet:\r\n        this.EditShowDestinationPermissionList = true;\r\n        this.EditShowDestinationUserAutoComplete = false;\r\n        break;\r\n      case ParticipantType.User:\r\n        this.EditShowDestinationPermissionList = false;\r\n        this.EditShowDestinationUserAutoComplete = true;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  editSourceParticipantOnChange(key) {\r\n    key = key?.toLowerCase();\r\n    switch (key) {\r\n      case ParticipantType.PermissionSet:\r\n        this.EditShowSourcePermissionList = true;\r\n        this.EditShowSourceUserAutoComplete = false;\r\n        break;\r\n      case ParticipantType.User:\r\n        this.EditShowSourcePermissionList = false;\r\n        this.EditShowSourceUserAutoComplete = true;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  //Delete ImpersonationRule\r\n  showDeleteImpersonationModal(impersonationRuleID: string) {\r\n    this.deleteImpersonationRuleId = impersonationRuleID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteImpersonationRuleId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteImpersonation;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteImpersonation = (id: string): Observable<any> => {\r\n    return this.ImpersonationRuleService.deleteImpersonationRule(id);\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"ImpersonationForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"ImpersonationForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddImpersonationModal(AddImpersonationModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!--begin::Permission list-->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n              <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}]\r\n                {{utilityService.getResourceValue(\"Source\")}}</th>\r\n              <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}]\r\n                {{utilityService.getResourceValue(\"Destination\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ExpiresAt\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Active\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let Impersonation of clientSidePagingResult\">\r\n\r\n              <td>\r\n                <span class=\"text-dark\">\r\n                  [{{Impersonation.sourceParticipantDTO.participantTypeItemNameStr}}]\r\n                  {{Impersonation.sourceParticipantDTO.participantNameStr}}\r\n                </span>\r\n\r\n              </td>\r\n              <td> [{{Impersonation.destinationParticipantDTO.participantTypeItemNameStr}}]\r\n                {{Impersonation.destinationParticipantDTO.participantNameStr}}</td>\r\n\r\n              <td>{{Impersonation.expiresAt}}</td>\r\n              <td>{{Impersonation.isActive}}</td>\r\n\r\n              <td>\r\n\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditImpersonationModal(Impersonation.iD_GUID,EditImpersonationModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeleteImpersonationModal(Impersonation.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"5\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setImpersonationListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"ImpersonationPaging\"\r\n        [group]=\"ImpersonationForm\" #ImpersonationPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n<!-- Add Modal -->\r\n<ng-template #AddImpersonationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}}\r\n        {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"AddImpersonationFormOptions\">\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddSourceParticipantType\" (OnChange)=\"addSourceParticipantOnChange($event)\"\r\n            [group]=\"AddImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddSourcePermissionSetList\" *ngIf=\"AddShowSourcePermissionList\"\r\n            [group]=\"AddImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-AutocompleteTextBox [options]=\"AddSourceUserAutoComplete\" *ngIf=\"AddShowSourceUserAutoComplete\"\r\n            [group]=\"AddImpersonationForm\">\r\n          </BBSF-AutocompleteTextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddDestinationParticipantType\"\r\n            (OnChange)=\"addDestinationParticipantOnChange($event)\" [group]=\"AddImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddDestinationPermissionSetList\" *ngIf=\"AddShowDestinationPermissionList\"\r\n            [group]=\"AddImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-AutocompleteTextBox [options]=\"AddDestinationUserAutoComplete\"\r\n            *ngIf=\"AddShowDestinationUserAutoComplete\" [group]=\"AddImpersonationForm\">\r\n          </BBSF-AutocompleteTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsActive\" [group]=\"AddImpersonationForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DateTimePicker [options]=\"AddExpiresAt\" [group]=\"AddImpersonationForm\">\r\n\r\n          </BBSF-DateTimePicker>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button CloseImpersonationModal id=\"CloseImpersonationModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditImpersonationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}}\r\n        {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditImpersonationFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditSourceParticipantType\" (OnChange)=\"editSourceParticipantOnChange($event)\"\r\n            [group]=\"EditImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditSourcePermissionSetList\" *ngIf=\"EditShowSourcePermissionList\"\r\n            [group]=\"EditImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-AutocompleteTextBox [options]=\"EditSourceUserAutoComplete\" *ngIf=\"EditShowSourceUserAutoComplete\"\r\n            [group]=\"EditImpersonationForm\">\r\n          </BBSF-AutocompleteTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditDestinationParticipantType\"\r\n            (OnChange)=\"editDestinationParticipantOnChange($event)\" [group]=\"EditImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditDestinationPermissionSetList\" *ngIf=\"EditShowDestinationPermissionList\"\r\n            [group]=\"EditImpersonationForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-AutocompleteTextBox [options]=\"EditDestinationUserAutoComplete\"\r\n            *ngIf=\"EditShowDestinationUserAutoComplete\" [group]=\"EditImpersonationForm\">\r\n          </BBSF-AutocompleteTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsActive\" [group]=\"EditImpersonationForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DateTimePicker [options]=\"EditExpiresAt\" [group]=\"EditImpersonationForm\">\r\n\r\n          </BBSF-DateTimePicker>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditImpersonationModal id=\"CloseEditImpersonationModal\" type=\"button\"\r\n          class=\"btn btn-light btn-sm  me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImpersonationRulesComponent } from './impersonation-rules/impersonation-rules.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ImpersonationRuleService } from '../shared/Services/ImpersonationRuleService.service';\r\n\r\n\r\n@NgModule({\r\n  declarations: [ImpersonationRulesComponent],\r\n  imports: [\r\n    RouterModule.forChild([\r\n      { path: 'ImpersonationRule', component: ImpersonationRulesComponent },\r\n      { path: '', redirectTo: 'ImpersonationRule', pathMatch: 'full' },\r\n    ]),\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    ImpersonationRuleService\r\n  ]\r\n})\r\nexport class ImpersonationRulesModule { }\r\n","export class JobCountsModel {\r\n    Enqueued: number\r\n    Scheduled: number\r\n    Processing: number\r\n    Succeeded: number\r\n    Failed: number\r\n    Deleted: number\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class JobsService {\r\n  ApiUrl = \"/api/admin/Jobs/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  LoadStatistics() {\r\n    return this.http.get(this.ApiUrl + 'GetStatistics');\r\n  }\r\n\r\n\r\n}","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FilterItem, FilterType, InputType, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { JobCountsModel } from '../../shared/models/JobModels/JobCountsModel';\r\nimport { JobsService } from './../../shared/Services/JobsService.service';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'lib-jobs',\r\n    templateUrl: './jobs.component.html',\r\n    styleUrls: ['./jobs.component.css'],\r\n    standalone: false\r\n})\r\nexport class JobsComponent implements OnInit, OnDestroy {\r\n\r\n  //Page requirements\r\n  ApiUrl = this.jobsService.ApiUrl;\r\n\r\n  //Page Content\r\n  searchTextBox: TextBoxOptions;\r\n  jobCountsModel: JobCountsModel = new JobCountsModel();\r\n  productionMode: boolean = false;\r\n  isStatisticsLoaded: boolean = false;\r\n\r\n\r\n  //Filter and paging Enqueued Jobs component\r\n  enqueuedForm = new FormGroup({});\r\n  showEnqueuedFilter: boolean = false;\r\n  enqueuedPagingResult: any[] = [];\r\n  filteredEnqueuedPagingResult: any[] = [];\r\n  enqueuedPaging: PagingOptions;\r\n  enqueuedTextInputFilter: FilterItem;\r\n  isEnqueuedFilterLoaded: boolean = false;\r\n  @ViewChild('EnqueuedPagingViewElement', { static: false }) enqueuedInput: PagingComponent<any>;\r\n\r\n  //Filter and paging Scheduled Jobs component\r\n  scheduledForm = new FormGroup({});\r\n  scheduledPagingResult: any[] = [];\r\n  scheduledPaging: PagingOptions;\r\n  isScheduledFilterLoaded: boolean = false;\r\n  @ViewChild('ScheduledPagingViewElement', { static: false }) scheduledInput: PagingComponent<any>;\r\n\r\n  //Filter and paging Processing Jobs component\r\n  processingForm = new FormGroup({});\r\n  processingPagingResult: any[] = [];\r\n  processingPaging: PagingOptions;\r\n  isProcessingFilterLoaded: boolean = false;\r\n  @ViewChild('ProcessingPagingViewElement', { static: false }) processingInput: PagingComponent<any>;\r\n\r\n  //Filter and paging Succeeded Jobs component\r\n  succeededForm = new FormGroup({});\r\n  succeededPagingResult: any[] = [];\r\n  succeededPaging: PagingOptions;\r\n  isSucceededFilterLoaded: boolean = false;\r\n  @ViewChild('SucceededPagingViewElement', { static: false }) succeededInput: PagingComponent<any>;\r\n\r\n  //Filter and paging  Failed Jobs component\r\n  failedForm = new FormGroup({});\r\n  failedPagingResult: any[] = [];\r\n  failedPaging: PagingOptions;\r\n  isFailedFilterLoaded: boolean = false;\r\n  @ViewChild('FailedPagingViewElement', { static: false }) failedInput: PagingComponent<any>;\r\n\r\n  //Filter and paging Deleted Jobs component\r\n  deletedForm = new FormGroup({});\r\n  deletedPagingResult: any[] = [];\r\n  deletedPaging: PagingOptions;\r\n  isDeletedFilterLoaded: boolean = false;\r\n  @ViewChild('DeletedPagingViewElement', { static: false }) deletedInput: PagingComponent<any>;\r\n\r\n\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private jobsService: JobsService,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n  }\r\n  ngOnInit() {\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Jobs\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.productionMode = this.environmentService.getProductionMode();\r\n    //initialize page\r\n    this.loadStatistics();\r\n  }\r\n\r\n\r\n\r\n  // Enqueued Paging functions\r\n\r\n  setEnqueuedListResult(result) {\r\n    this.enqueuedPagingResult = result;\r\n    this.filteredEnqueuedPagingResult = this.enqueuedPagingResult;\r\n  }\r\n\r\n\r\n  //Scheduled Paging functions\r\n\r\n  setScheduledListResult(result) {\r\n    this.scheduledPagingResult = result;\r\n  }\r\n\r\n  //Processing Paging functions\r\n\r\n  setProcessingListResult(result) {\r\n    this.processingPagingResult = result;\r\n\r\n  }\r\n\r\n  //Succeeded Paging functions\r\n\r\n  setSucceededListResult(result) {\r\n    this.succeededPagingResult = result;\r\n  }\r\n  //Failed Paging functions\r\n\r\n  setFailedListResult(result) {\r\n    this.failedPagingResult = result;\r\n  }\r\n\r\n  //Deleted Paging functions\r\n\r\n  setDeletedListResult(result) {\r\n    this.deletedPagingResult = result;\r\n\r\n  }\r\n\r\n  //initialize page\r\n\r\n  loadStatistics() {\r\n    this.jobsService.LoadStatistics().subscribe((result) => {\r\n      let Lists = result as any;\r\n      this.jobCountsModel.Enqueued = Lists.enqueued;\r\n      this.jobCountsModel.Succeeded = Lists.succeeded;\r\n      this.jobCountsModel.Scheduled = Lists.scheduled;\r\n      this.jobCountsModel.Processing = Lists.processing;\r\n      this.jobCountsModel.Failed = Lists.failed;\r\n      this.jobCountsModel.Deleted = Lists.deleted;\r\n      this.isStatisticsLoaded = true;\r\n    });\r\n  }\r\n\r\n\r\n\r\n  loadEnqueuedJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.enqueuedTextInputFilter = new FilterItem();\r\n    this.enqueuedTextInputFilter.formControlName = \"searchTextBox\";\r\n    this.enqueuedTextInputFilter.actionParameterName = \"searchText\";\r\n    this.enqueuedTextInputFilter.isFormControl = true;\r\n    this.enqueuedTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.enqueuedPaging = new PagingOptions();\r\n    this.enqueuedPaging.actionPostURL = this.ApiUrl + 'GetQueueListByFilter';\r\n    this.enqueuedPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.enqueuedPaging.filters = [this.enqueuedTextInputFilter];\r\n\r\n    this.isEnqueuedFilterLoaded = true;\r\n\r\n  }\r\n\r\n\r\n  loadScheduledJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    this.scheduledPaging = new PagingOptions();\r\n    this.scheduledPaging.actionPostURL = this.ApiUrl + 'GetScheduledListByFilter';\r\n    this.isScheduledFilterLoaded = true;\r\n\r\n\r\n  }\r\n\r\n  loadProcessingJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    this.processingPaging = new PagingOptions();\r\n    this.processingPaging.actionPostURL = this.ApiUrl + 'GetProcessingListByFilter';\r\n    this.isProcessingFilterLoaded = true;\r\n\r\n  }\r\n\r\n  loadSucceededJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    this.succeededPaging = new PagingOptions();\r\n    this.succeededPaging.actionPostURL = this.ApiUrl + 'GetSucceededListByFilter';\r\n    this.isSucceededFilterLoaded = true;\r\n\r\n\r\n  }\r\n\r\n  loadFailedJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    this.failedPaging = new PagingOptions();\r\n    this.failedPaging.actionPostURL = this.ApiUrl + 'GetFailedListByFilter';\r\n    this.isFailedFilterLoaded = true;\r\n\r\n\r\n  }\r\n\r\n  loadDeletedJobs() {\r\n    this.isEnqueuedFilterLoaded = false;\r\n    this.isScheduledFilterLoaded = false;\r\n    this.isProcessingFilterLoaded = false;\r\n    this.isSucceededFilterLoaded = false;\r\n    this.isFailedFilterLoaded = false;\r\n    this.isDeletedFilterLoaded = false;\r\n\r\n    this.deletedPaging = new PagingOptions();\r\n    this.deletedPaging.actionPostURL = this.ApiUrl + 'GetDeletedListByFilter';\r\n    this.isDeletedFilterLoaded = true;\r\n\r\n  }\r\n\r\n  /**FunctionName:filterEnqueuedList*/\r\n  /**Declaration:function to filter EnqueuedList in client-side */\r\n  /**Parameters:*/\r\n  /**searchValue: current value of search box*/\r\n  filterEnqueuedList(searchValue) {\r\n    if (searchValue)\r\n      this.filteredEnqueuedPagingResult = this.enqueuedPagingResult.filter(item => item.job.toLowerCase().includes(searchValue.toLowerCase()));\r\n    else\r\n      this.filteredEnqueuedPagingResult = this.enqueuedPagingResult;\r\n  }\r\n\r\n  ///////////Destroy Observable //////////////////////\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui> </block-ui>\r\n    <div class=\"container-fluid\">\r\n      <div class=\"card card-custom-h\">\r\n        <div class=\"card-body\">\r\n          <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder\">\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadEnqueuedJobs()\">{{utilityService.getResourceValue(\"Enqueued\")}}({{jobCountsModel.Enqueued}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-header border-0 pt-5 px-0  justify-content-end\">\r\n                    <div class=\"card-title\" *ngIf=\"isEnqueuedFilterLoaded\">\r\n                        <BBSF-TextBox [options]=\"searchTextBox\"  (OnChange)=\"filterEnqueuedList($event)\" [group]=\"enqueuedForm\"></BBSF-TextBox>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <!--begin::Permission list-->\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"State\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of filteredEnqueuedPagingResult\">\r\n                            <td class=\"text-dark\">{{job.job}}</td>\r\n                            <td>{{job.state}}</td>\r\n                          </tr>\r\n                          <tr  *ngIf=\"filteredEnqueuedPagingResult.length == 0\">\r\n                            <td colspan=\"2\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setEnqueuedListResult($event)\" *ngIf=\"isEnqueuedFilterLoaded\"\r\n                                 [options]=\"enqueuedPaging\" [group]=\"enqueuedForm\" #EnqueuedPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadScheduledJobs()\">{{utilityService.getResourceValue(\"Scheduled\")}}({{jobCountsModel.Scheduled}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <!--begin::Permission list-->\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Enqueued\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Scheduled\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of scheduledPagingResult\">\r\n                            <td>{{job.job}}</td>\r\n                            <td>{{job.enqueueAt}}</td>\r\n                            <td>{{job.scheduledAt}}</td>\r\n                          </tr>\r\n                          <tr  *ngIf=\"scheduledPagingResult.length == 0\">\r\n                            <td colspan=\"3\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setScheduledListResult($event)\" *ngIf=\"isScheduledFilterLoaded\"\r\n                                 [options]=\"scheduledPaging\" [group]=\"scheduledForm\" #ScheduledPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadProcessingJobs()\">{{utilityService.getResourceValue(\"Processing\")}}({{jobCountsModel.Processing}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <!--begin::Permission list-->\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"StartedAt\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ServerId\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of processingPagingResult\">\r\n                            <td>{{job.job}}</td>\r\n                            <td>{{job.startedAt}}</td>\r\n                            <td>{{job.serverId}}</td>\r\n                          </tr>\r\n                          <tr *ngIf=\"processingPagingResult.length == 0\">\r\n                            <td colspan=\"3\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setProcessingListResult($event)\" *ngIf=\"isProcessingFilterLoaded\"\r\n                                 [options]=\"processingPaging\" [group]=\"processingForm\" #ProcessingPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadSucceededJobs()\">{{utilityService.getResourceValue(\"Succeeded\")}}({{jobCountsModel.Succeeded}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"SucceededAt\")}}</th>\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"TotalDuration\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of succeededPagingResult\">\r\n                            <td>{{job.job}}</td>\r\n                            <td>{{job.succeededAt}}</td>\r\n                            <td>{{job.totalDuration}}</td>\r\n                          </tr>\r\n                          <tr *ngIf=\"succeededPagingResult.length == 0\">\r\n                            <td colspan=\"3\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setSucceededListResult($event)\" *ngIf=\"isSucceededFilterLoaded\"\r\n                                 [options]=\"succeededPaging\" [group]=\"succeededForm\" #SucceededPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadFailedJobs()\">{{utilityService.getResourceValue(\"Failed\")}}({{jobCountsModel.Failed}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"FailedAt\")}}</th>\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"ErrorMessage\")}}</th>\r\n                            <th class=\"min-w-150\">{{utilityService.getResourceValue(\"ErrorMessage\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of failedPagingResult\">\r\n                            <td>{{job.failedAt}}</td>\r\n                            <td>{{job.job}}</td>\r\n                            <td>{{job.reason}}</td>\r\n                            <td class=\"failed-job-details directionLtr\" *ngIf=\"job.inFailedState\">\r\n                              <div class=\"expandable\">\r\n                                <p> {{job.exceptionType}}</p>\r\n                                <p class=\"text-muted\">\r\n                                  {{job.exceptionMessage}}\r\n                                </p>\r\n\r\n                              </div>\r\n                            </td>\r\n                          </tr>\r\n                          <tr *ngIf=\"failedPagingResult.length == 0\">\r\n                            <td colspan=\"4\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setFailedListResult($event)\" *ngIf=\"isFailedFilterLoaded\" [options]=\"failedPaging\"\r\n                                 [group]=\"failedForm\" #FailedPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n            <li ngbNavItem class=\"nav-item mt-2\">\r\n              <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"loadDeletedJobs()\">{{utilityService.getResourceValue(\"Deleted\")}}({{jobCountsModel.Deleted}})</a>\r\n              <ng-template ngbNavContent>\r\n                <div class=\"card\">\r\n                  <div class=\"card-body py-3 px-0\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Job\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"DeletedAt\")}}</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let job of deletedPagingResult\">\r\n                            <td>{{job.job}}</td>\r\n                            <td>{{job.deletedAt}}</td>\r\n                          </tr>\r\n                          <tr  *ngIf=\"deletedPagingResult.length == 0\">\r\n                            <td colspan=\"2\">\r\n                              <lib-empty-data></lib-empty-data>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"card-footer border-0\">\r\n                    <BBSF-Paging (Items)=\"setDeletedListResult($event)\" *ngIf=\"isDeletedFilterLoaded\"\r\n                                 [options]=\"deletedPaging\" [group]=\"deletedForm\" #DeletedPagingViewElement>\r\n                    </BBSF-Paging>\r\n                  </div>\r\n                </div>\r\n              </ng-template>\r\n            </li>\r\n          </ul>\r\n          <div [ngbNavOutlet]=\"nav\"></div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n \r\n\r\n","import { JobsComponent } from './jobs/jobs.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { JobsService } from '../shared/Services/JobsService.service';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n@NgModule({\r\n  declarations: [JobsComponent],\r\n  imports: [\r\n\r\n    RouterModule.forChild([\r\n      { path: '', component: JobsComponent },\r\n      { path: '', redirectTo: '', pathMatch: 'full' },\r\n    ]),\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    JobsService\r\n  ]\r\n})\r\nexport class JobsModule { }\r\n","\r\nimport { FileDTO } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class LicenseModel {\r\n    LicenseFile: FileDTO;\r\n    appendExisting: boolean = false;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LicenseModel } from './../models/LicenseModel/LicenseModel';\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { ServerLicenseFileDTO } from \"../../license/utils/model/lic-model\";\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class LicenseService {\r\n  ApiUrl = \"/api/admin/LicenseAdmin/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  getOrganizationLicense() {\r\n    return this.http.get<{ val: ServerLicenseFileDTO; }>(this.ApiUrl + 'GetOrganizationLicense');\r\n  }\r\n\r\n\r\n  uploadLicense(File: LicenseModel) {\r\n    return this.http.post(this.ApiUrl + 'UploadLicense', File);\r\n  }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { FileType, FileUploadOptions, FormOptions } from '@bnsights/bbsf-controls';\r\nimport { LicenseService } from './../../shared/Services/LicenseService.service';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { LicenseModel } from '../../shared/models/LicenseModel/LicenseModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { ServerLicenseFileDTO } from '../utils/model/lic-model';\r\n\r\n@Component({\r\n  selector: 'lib-license',\r\n  templateUrl: './license.component.html',\r\n  styleUrls: ['./license.component.css'],\r\n  standalone: false\r\n})\r\nexport class LicenseComponent implements OnInit {\r\n\r\n  ShowPageContent = false;\r\n  change: boolean = false;\r\n  showShadow = [];\r\n  noLicenseFound: boolean = false;\r\n  activationDate: string;\r\n  licenseStartDate: string;\r\n  licenseEndDate: string;\r\n  name: string = \"\";\r\n  productionMode: boolean = false;\r\n  dateInMinutes: number = 0;\r\n  seconds: number = 0;\r\n  minutes: number = 0;\r\n  hours: number = 0;\r\n  days: number = 0;\r\n  weeks: number = 0;\r\n  months: number = 0;\r\n  years: number = 0;\r\n  date_future: any;\r\n  date_now: any;\r\n  showTimer: boolean = false;\r\n  intervalConst: any;\r\n  usersCount: number = 0;\r\n  licensedUsersCount: number = 0;\r\n  //Upload Model Controls\r\n  uploadFileForm = new FormGroup({});\r\n  uploadFileFormOptions: FormOptions;\r\n  licenseFileInput: FileUploadOptions;\r\n  appendExisting: boolean;\r\n  initialMinutes$ = new BehaviorSubject(24 * 60 * 30);;\r\n  value = 0;\r\n  timer$: any;\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private licenseService: LicenseService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) {\r\n\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"License\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.productionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n\r\n  }\r\n\r\n  initializePage() {\r\n    this.licenseService.getOrganizationLicense().subscribe((result) => {\r\n      let resultModel = result.val;\r\n      if (resultModel != null) {\r\n        this.setPageLicenseData(resultModel);\r\n      }\r\n    });\r\n  }\r\n\r\n  setPageLicenseData(license: ServerLicenseFileDTO) {\r\n    let startDate = new Date(license.licenseStartDate);\r\n    let endDate = new Date(license.licenseEndDate);\r\n    let activationDate = new Date(license.activationDate);\r\n    this.activationDate = activationDate.toLocaleDateString();\r\n    this.licenseStartDate = startDate.toLocaleDateString();\r\n    this.licenseEndDate = endDate.toLocaleDateString();\r\n    this.name = (<any>license.name).current;\r\n    this.usersCount = license.usersCount || 0;\r\n    this.licensedUsersCount = license.licensedUsersCount || 0;\r\n    if (license.isActivated) {\r\n      let CurrentDate = new Date();\r\n      if ((endDate.toLocaleDateString() == CurrentDate.toLocaleDateString()))\r\n        this.noLicenseFound = true;\r\n      else\r\n        this.noLicenseFound = false;\r\n\r\n      this.dateInMinutes = this.getDifferenceInMinutes(CurrentDate, endDate);\r\n      //set first time\r\n      this.setCounter(endDate);\r\n      this.showTimer = true;\r\n\r\n      this.intervalConst = setInterval(() => {\r\n        this.setCounter(endDate);\r\n      }, 1000);\r\n    } else {\r\n      this.noLicenseFound = true;\r\n      this.showTimer = false;\r\n      clearInterval(this.intervalConst);\r\n    }\r\n\r\n  }\r\n\r\n  setCounter(endDate: Date) {\r\n    this.date_future = endDate;\r\n    this.date_now = new Date();\r\n\r\n    this.seconds = Math.floor((this.date_future - (this.date_now)) / 1000);\r\n    this.minutes = Math.floor(this.seconds / 60);\r\n    this.hours = Math.floor(this.minutes / 60);\r\n    this.days = Math.floor(this.hours / 24);\r\n    this.months = Math.floor(this.days / 31);\r\n    this.years = Math.floor(this.months / 12);\r\n\r\n    this.hours = this.hours - (this.days * 24);\r\n    this.minutes = this.minutes - (this.days * 24 * 60) - (this.hours * 60);\r\n    this.seconds = this.seconds - (this.days * 24 * 60 * 60) - (this.hours * 60 * 60) - (this.minutes * 60);\r\n    this.days = this.days - (this.months * 31);\r\n    this.months = this.months - (this.years * 12);\r\n  }\r\n\r\n  getDifferenceInMinutes(date1, date2) {\r\n    const diffInMs = Math.abs(date2 - date1);\r\n    return diffInMs / (1000 * 60);\r\n  }\r\n\r\n  showUploadModal(uploadFileModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.uploadFileForm = new FormGroup({});\r\n    this.uploadFileForm.reset();\r\n\r\n    this.uploadFileFormOptions = new FormOptions();\r\n    this.uploadFileFormOptions.formGroup = this.uploadFileForm;\r\n    this.uploadFileFormOptions.getModelFunction = this.getAddLicenseModel;\r\n    this.uploadFileFormOptions.serviceSubmitFunction = this.getAddLicenseFunction;\r\n    this.uploadFileFormOptions.onSuccessHandler = this.OnSuccessHandler;\r\n\r\n\r\n    this.licenseFileInput = new FileUploadOptions();\r\n    this.licenseFileInput.name = \"LicenseFileInput\";\r\n    this.licenseFileInput.labelKey = \"UploadFile\";\r\n    this.licenseFileInput.isMultipleFile = false;\r\n    this.licenseFileInput.isRequired = true;\r\n    this.licenseFileInput.fileUploadAcceptsTypes = [FileType.License];\r\n\r\n\r\n    this.modalService.open(uploadFileModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getAddLicenseModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.uploadFileForm.value;\r\n    let Model = new LicenseModel();\r\n\r\n    Model.appendExisting = this.appendExisting;\r\n    Model.LicenseFile = {\r\n      fileBase64: ResultModel[\"LicenseFileInput\"].file.fileBase64,\r\n      fileName: ResultModel[\"LicenseFileInput\"].file.fileName,\r\n      fileSizeInMB: ResultModel[\"LicenseFileInput\"].file.fileSizeInMB,\r\n      fileType: ResultModel[\"LicenseFileInput\"].file.fileType,\r\n      isNew: true\r\n    };\r\n    paramArray.push(Model);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddLicenseFunction = (Model): Observable<any> => {\r\n    return this.licenseService.uploadLicense(Model);\r\n  };\r\n\r\n  isAppendExisting(appendExisting) {\r\n    this.appendExisting = appendExisting;\r\n  }\r\n\r\n  OnSuccessHandler = (res) => {\r\n    this.utilityService.notifySuccessMessage();\r\n    this.utilityService.stopBlockUI();\r\n    clearInterval(this.intervalConst);\r\n    this.setPageLicenseData(res.val);\r\n  };\r\n\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<!--Begin::Section-->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0\">\r\n      <div class=\"card-title\">\r\n        <h3 *ngIf=\"!noLicenseFound\" class=\"\">{{name}}</h3>\r\n        <span *ngIf=\"!noLicenseFound\" class=\"badge badge-light-success m-3 badge-lg\">\r\n          {{utilityService.getResourceValue(\"LicenseActivatedSuccessfully\")}}\r\n        </span>\r\n      </div>\r\n\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"showUploadModal(uploadFileModal)\">\r\n          {{utilityService.getResourceValue(\"Activate\")}}\r\n        </button>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body d-flex align-items-center justify-content-center\" *ngIf=\"!noLicenseFound\">\r\n      <ng-container *ngIf=\"showTimer\">\r\n        <div class=\"main_Timer\">\r\n          <div class=\"clock\">\r\n            <div class=\"time row\">\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Years\")}}</div>\r\n                  <span class=\"years fs-2hx fw-bolder text-gray-900\">{{years}}</span>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Months\")}}</div>\r\n                  <span class=\"months fs-2hx fw-bolder text-gray-900\">{{months}}</span>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Days\")}}</div>\r\n                  <span class=\"days fs-2hx fw-bolder text-gray-900\">{{days}}</span>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div\r\n                  class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Hours\")}}</div>\r\n                  <span class=\"hours fs-2hx fw-bolder text-gray-900\">{{hours}}</span>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div\r\n                  class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Minutes\")}}</div>\r\n                  <span class=\"min fs-2hx fw-bolder text-gray-900\">{{minutes}}</span>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n                <div\r\n                  class=\"counter-item border bg-light-primary border-primary notice  text-center min-w-150px rounded d-none d-md-block\">\r\n                  <div class=\"counter-title fs-3 fw-bold text-primary d-block\">\r\n                    {{utilityService.getResourceValue(\"Seconds\")}}</div>\r\n                  <span class=\"sec fs-2hx fw-bolder text-gray-900\">{{seconds}}</span>\r\n                </div>\r\n              </div>\r\n\r\n\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n    <div class=\"card-body d-flex align-items-center justify-content-center\" *ngIf=\"noLicenseFound\">\r\n      <div class=\"text-center\">\r\n        <h3 class=\"text-danger mb-0\">\r\n          {{utilityService.getResourceValue(\"NoLicenseFound\")}}\r\n        </h3>\r\n      </div>\r\n    </div>\r\n    <div *ngIf=\"!noLicenseFound\" class=\"card-footer border-0 d-flex justify-content-between\">\r\n      <div class=\"mb-4\">\r\n        <p class=\"badge badge-light-primary fs-7 fw-bolder me-2 min-w-150px\">\r\n          {{utilityService.getResourceValue(\"LicenseStartDate\")}}:</p>\r\n        <p class=\"font-weight-500\">{{licenseStartDate | date:'dd-MM-y'}}</p>\r\n      </div>\r\n      <div class=\"mb-4\">\r\n        <p class=\"badge badge-light-info fs-7 fw-bolder me-2 min-w-150px\">\r\n          {{utilityService.getResourceValue(\"LicensedUsers\")}}:</p>\r\n        <p class=\"font-weight-500\">{{licensedUsersCount}} / {{usersCount}}</p>\r\n      </div>\r\n      <div>\r\n        <p class=\"badge badge-light-danger fs-7 fw-bolder me-2 min-w-150px\">\r\n          {{utilityService.getResourceValue(\"LicenseExpiryDate\")}}:</p>\r\n        <p class=\"font-weight-500\">{{licenseEndDate | date:'dd-MM-y'}}</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- activate-->\r\n<ng-template #uploadFileModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'.././src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"UploadLicense\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"uploadFileFormOptions\">\r\n      <BBSF-FileUpload [options]=\"licenseFileInput\" [group]=\"uploadFileForm\">\r\n      </BBSF-FileUpload>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseLicenseFileModal id=\"CloseLicenseFileModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" (click)=\"isAppendExisting(false)\"\r\n          class=\"btn btn-light-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n        <button type=\"submit\" (click)=\"isAppendExisting(true)\"\r\n          class=\"btn btn-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Append\")}}</button>\r\n\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { LicenseComponent } from './license/license.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { LicenseService } from '../shared/Services/LicenseService.service';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: '', component: LicenseComponent\r\n  }\r\n];\r\n@NgModule({\r\n  declarations: [LicenseComponent],\r\n  imports: [\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    RouterModule.forChild(routes),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    InlineSVGModule\r\n\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    DatePipe,\r\n    LicenseService\r\n\r\n\r\n  ]\r\n})\r\nexport class LicenseModule { }\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class WFCreationModel {\r\n  ID_GUID: string;\r\n  SysName: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  CurrentVersionID: number;\r\n  IsActive: boolean;\r\n  IsPublished: boolean;\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { WFCreationModel } from \"../models/WorkflowModels/WFCreationModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowService {\r\n  ApiUrl = \"/api/admin/Workflow/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  addWorkflow(AddModel: WFCreationModel) {\r\n    return this.http.post(this.ApiUrl + 'AddWorkflow', AddModel);\r\n  }\r\n\r\n  getEditWorkFlowData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditWorkflow', params);\r\n\r\n  }\r\n  editWorkflow(EditModel: WFCreationModel) {\r\n    return this.http.post(this.ApiUrl + 'EditWorkflow', EditModel);\r\n  }\r\n\r\n  getDetails(Id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"wfId\", Id);\r\n    return this.http.get(this.ApiUrl + 'Details', params);\r\n  }\r\n  publishWorkFlow(id: string) {\r\n    return this.http.post(this.ApiUrl + 'PublishWorkFlow', JSON.stringify(id));\r\n  }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingActionMode, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { WFCreationModel } from '../../shared/models/WorkflowModels/WFCreationModel';\r\nimport { WorkflowService } from '../../shared/Services/WorkflowService.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-workflow',\r\n    templateUrl: './workflow.component.html',\r\n    standalone: false\r\n})\r\nexport class WorkflowComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Workflow/\";\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  WorkflowForm = new FormGroup({});\r\n  WorkflowPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  WorkflowPaging: PagingOptions;\r\n  TextInputFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('WorkflowPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  AddWorkflowForm = new FormGroup({});\r\n  AddWorkflowFormOptions = new FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddSysName: TextBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  EditWorkflowForm = new FormGroup({});\r\n  EditWorkflowFormOptions = new FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditSysName: TextBoxOptions;\r\n  WorkflowId: string;\r\n\r\n  constructor(private authService: AuthService, private WorkflowService: WorkflowService, private modalService: NgbModal, public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService, private bbsfTranslateService: BBSFTranslateService,\r\n    private pageInfoService: PageInfoService, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Workflows\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ShowPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowPaging = new PagingOptions();\r\n    this.WorkflowPaging.actionPostURL = this.ApiUrl + 'GetWorkflowByFilter';\r\n    this.WorkflowPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.WorkflowPaging.filters = [this.TextInputFilter];\r\n    this.WorkflowPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n\r\n\r\n  //Paging functions\r\n  setWorkflowListResult(result) {\r\n    this.WorkflowPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.WorkflowPagingResult.filter(\r\n        function (item) {\r\n          return (item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.WorkflowPagingResult;\r\n  }\r\n\r\n  //Add workflow\r\n  showAddWorkflowModal(AddWorkflowModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.AddWorkflowForm = new FormGroup({});\r\n    this.AddWorkflowFormOptions = new FormOptions();\r\n    this.AddWorkflowFormOptions.formGroup = this.AddWorkflowForm;\r\n    this.AddWorkflowFormOptions.getModelFunction = this.getAddWorkflowModel;\r\n    this.AddWorkflowFormOptions.serviceSubmitFunction = this.getAddWorkflowFunction;\r\n    this.AddWorkflowFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.AddName = new MultiLingualTextBoxOptions();\r\n    this.AddName.name = \"Name\";\r\n    this.AddName.arabicLabelKey = \"NameInArabic\";\r\n    this.AddName.englishLabelKey = \"NameInEnglish\";\r\n    this.AddName.isRequired = true;\r\n    this.AddName.maxLength = 255;\r\n\r\n    this.AddDescription = new MultiLingualTextAreaOptions();\r\n    this.AddDescription.name = \"Description\";\r\n    this.AddDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n    this.AddDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n    this.AddDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n    this.AddDescription.maxLength = 1000;\r\n\r\n    this.AddSysName = new TextBoxOptions();\r\n    this.AddSysName.name = \"SysName\";\r\n    this.AddSysName.labelKey = \"SysName\";\r\n    this.AddSysName.type = InputType.Text;\r\n    this.AddSysName.isRequired = true;\r\n    this.AddSysName.maxLength = 100;\r\n\r\n    this.modalService.open(AddWorkflowModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  getAddWorkflowModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddWorkflowForm.value as any;\r\n    let AddModel: WFCreationModel = new WFCreationModel();\r\n    AddModel.Name = ResultModel.Name;\r\n    AddModel.SysName = ResultModel.SysName;\r\n    AddModel.Description = ResultModel.Description;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddWorkflowFunction = (AddModel): Observable<any> => {\r\n    return this.WorkflowService.addWorkflow(AddModel);\r\n  };\r\n\r\n  //Edit workflow\r\n  showEditWorkflowModal(workFlowID: string, editWorkflowModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.WorkflowId = workFlowID;\r\n    this.WorkflowService.getEditWorkFlowData(workFlowID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let workflow = resultObj.model;\r\n\r\n      this.EditWorkflowForm = new FormGroup({});\r\n      this.EditWorkflowFormOptions = new FormOptions();\r\n      this.EditWorkflowFormOptions.formGroup = this.EditWorkflowForm;\r\n      this.EditWorkflowFormOptions.getModelFunction = this.getEditWorkFlowModel;\r\n      this.EditWorkflowFormOptions.serviceSubmitFunction = this.getEditWorkFlowFunction;\r\n      this.EditWorkflowFormOptions.pagingReference = this.pagingElement;\r\n      this.EditWorkflowFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = workflow.name.arabic;\r\n      name.english = workflow.name.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"Name\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = name;\r\n      this.EditName.maxLength = 255;\r\n\r\n      this.EditSysName = new TextBoxOptions();\r\n      this.EditSysName.name = \"SysName\";\r\n      this.EditSysName.labelKey = \"SysName\";\r\n      this.EditSysName.type = InputType.Text;\r\n      this.EditSysName.value = workflow.sysName;\r\n      this.EditSysName.isRequired = true;\r\n      this.EditSysName.maxLength = 100;\r\n\r\n\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = workflow.description.arabic;\r\n      description.english = workflow.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = description;\r\n      this.EditDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n      this.EditDescription.maxLength = 1000;\r\n\r\n      this.modalService.open(editWorkflowModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n\r\n  getEditWorkFlowModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditWorkflowForm.value as any;\r\n    let EditModel: WFCreationModel = new WFCreationModel();\r\n    EditModel.ID_GUID = this.WorkflowId;\r\n    EditModel.Name = ResultModel.Name;\r\n    EditModel.SysName = ResultModel.SysName;\r\n    EditModel.Description = ResultModel.Description;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditWorkFlowFunction = (EditModel): Observable<any> => {\r\n    return this.WorkflowService.editWorkflow(EditModel);\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <!-- begin::Header -->\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"WorkflowForm\">\r\n          <!-- (OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"WorkflowForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"showAddWorkflowModal(AddWorkflowModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n        <thead>\r\n          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n            <th class=\"min-w-250px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n            <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n          </tr>\r\n        </thead>\r\n        <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n          <tr *ngFor=\"let Workflow of clientSidePagingResult\">\r\n            <td>\r\n              <a href=\"javascript:void(0)\"\r\n                [routerLink]=\"['/Admin/Workflows/tabs',Workflow.iD_GUID,Workflow.workflowVersionID_GUID]\"\r\n                routerLinkActive=\"router-link-active\" class=\"text-gray-800 text-hover-primary\">{{Workflow.nameStr}}</a>\r\n            </td>\r\n            <td>{{Workflow.descriptionStr}}</td>\r\n\r\n            <td>{{Workflow.sysName}}</td>\r\n            <td>\r\n              <div>\r\n                <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                  class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                  <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                </button>\r\n                <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                  <button class=\"drop-item px-3\" ngbDropdownItem\r\n                    (click)=\"showEditWorkflowModal(Workflow.iD_GUID, EditWorkflowModal)\">\r\n                    <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                  </button>\r\n                </mat-menu>\r\n              </div>\r\n            </td>\r\n          </tr>\r\n          <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n            <td colspan=\"4\">\r\n              <lib-empty-data></lib-empty-data>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setWorkflowListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"WorkflowPaging\"\r\n        [group]=\"WorkflowForm\" #WorkflowPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddWorkflowModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Workflow\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"AddWorkflowFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddWorkflowForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddWorkflowForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddWorkflowForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseWorkflowModal id=\"CloseWorkflowModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditWorkflowModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Workflow\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditWorkflowFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditWorkflowForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditWorkflowForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditWorkflowForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditWorkflowModal id=\"CloseEditWorkflowModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { VariableLookupModel } from \"./VariableLookupModel\";\r\nimport { ParticipantModel } from './../ImpersonationRuleModels/ParticipantModel';\r\nimport { WFActivityOutcomeModel } from './WFActivityOutcomeModel';\r\nexport class WFActivityModel {\r\n  ID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  ActivityTypeItemID_GUID: string;\r\n  VersionID_GUID: string;\r\n  SysName: string;\r\n  OutcomeSysName: string;\r\n  TypeName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  NormalOutcomeName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  ParticipantDTO: ParticipantModel = new ParticipantModel();\r\n  ParticipantTypeID_GUID: string;\r\n  PersmsetID_GUID: string;\r\n  NextActivityID_GUID: string;\r\n  CanAddOutcome: boolean;\r\n  SendEmailOnTaskAssignment: boolean;\r\n  TaskName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  TaskDescription: EnglishArabicDTO = new EnglishArabicDTO();\r\n  TaskURL: string;\r\n  TaskCorrlTypeID?: number;\r\n  VersionIDEncrypted: string;\r\n  ShowTypeInEmail: boolean;\r\n  participantPermsetsIDsString: string[] = [];\r\n  ParticipantTypeItemIDsStringList: string[] = [];\r\n  IsPercentageTask: boolean;\r\n  DisableOutcomeSysName: boolean;\r\n  CanCompleteFromTME: boolean;\r\n  IsEmail: boolean;\r\n  IsEditMode: boolean;\r\n  CanAddComment: boolean;\r\n  LHSVariableID_GUID: string;\r\n  RHSVariableID_GUID: string;\r\n  RHSTypeItemID_GUID: string;\r\n  OperatorTypeItemID_GUID: string;\r\n  RHSValue: string;\r\n  Outcomes: WFActivityOutcomeModel[] = [];\r\n\r\n\r\n\r\n}\r\n","export class WFActivityOutcomeModel {\r\n  ID_GUID: string\r\n  CurrentActivityID_GUID: number\r\n  OutcomeSysName: string\r\n  NameEN: any\r\n  NameAR: any\r\n  NextActivityID_GUID: string\r\n  NextActvityName: string\r\n  IsOutcomeLocked: boolean\r\n  CanEdit: boolean\r\n  CanEditSysName: boolean\r\n  CanAddComment: boolean\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { WFActivityModel } from \"../models/WorkflowModels/WFActivityModel\";\r\nimport { WFActivityVariablesModel } from \"../models/WorkflowModels/WFActivityVariablesModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowActivityService {\r\n\r\n  ApiUrl = \"/api/admin/WorkflowActivity/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  //Add\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddWorkflowActivity');\r\n  }\r\n  getActivityOutcomes(versionID: string, activityType: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"vid\", versionID);\r\n    params = params.append(\"activityType\", activityType);\r\n    return this.http.get(this.ApiUrl + 'GetActivityTypeOutcomes', params);\r\n\r\n  }\r\n  addWorkflowActivity(AddModel: WFActivityModel) {\r\n    return this.http.post(this.ApiUrl + 'AddWorkflowActivity', AddModel);\r\n  }\r\n\r\n  //Edit\r\n  getEditWorkFlowActivityData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditActivity', params);\r\n\r\n  }\r\n\r\n  editActivity(EditModel: WFActivityModel) {\r\n    return this.http.post(this.ApiUrl + 'EditActivity', EditModel);\r\n  }\r\n\r\n  editPublishedActivity(EditModel: WFActivityModel) {\r\n    return this.http.post(this.ApiUrl + 'EditLockedActivity', EditModel);\r\n  }\r\n\r\n  //WF variables\r\n  getActivityWFVariables(versionID: string, activityID: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"versionID\", versionID);\r\n    params = params.append(\"activityID\", activityID);\r\n    return this.http.get(this.ApiUrl + 'AddVariables', params);\r\n  }\r\n  addActivityWFVariables(model: WFActivityVariablesModel) {\r\n    return this.http.post(this.ApiUrl + 'AddVariables', model);\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CheckBoxOptions, ControlLayout, DropdownOptions, EnglishArabicDTO, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, TextBoxOptions, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { BBSFTranslateService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivityType, ParticipantType, Righthandsidetype } from '../../../shared/constants';\r\nimport { ConditionRHSType } from '../../../shared/Enums/configuration/ConditionRHSType';\r\nimport { WFActivityType } from '../../../shared/Enums/WFActivityType';\r\nimport { ParticipantModel } from '../../../shared/models/ImpersonationRuleModels/ParticipantModel';\r\nimport { WFActivityModel } from '../../../shared/models/WorkflowModels/WFActivityModel';\r\nimport { WFActivityOutcomeModel } from '../../../shared/models/WorkflowModels/WFActivityOutcomeModel';\r\nimport { WorkflowActivityService } from '../../../shared/Services/WorkflowActivityService.service';\r\nimport { PageInfoService } from '../../../../_metronic/core/services/page-info.service';\r\n\r\n@Component({\r\n    selector: 'lib-workflow-activity-add',\r\n    templateUrl: './workflow-activity-add.component.html',\r\n    standalone: false\r\n})\r\nexport class WorkflowActivityAddComponent implements OnInit {\r\n  //Page requirements\r\n  isAddFormLoaded: boolean = false;\r\n  versionID: string;\r\n\r\n  //Add Activity shared controls\r\n  addworkflowActivityForm = new FormGroup({});\r\n  addworkflowActivityFormOptions = new FormOptions;\r\n  name: MultiLingualTextBoxOptions;\r\n  sysName: TextBoxOptions;\r\n  activityType: DropdownOptions;\r\n  canAddOutcome: boolean;\r\n  //Shared required lists\r\n  ActivityTypeList: any[] = [];\r\n\r\n  //Shared Participant type and data\r\n  showParticipantContainer: boolean = false;\r\n  showParticipantPermssionSet: boolean = false;\r\n  participantTypes: DropdownOptions;\r\n  participantPermissionSet: DropdownOptions;\r\n\r\n  //Dynamic Types Controls //(Approval,Action,Percentage)\r\n  showDynamicControls: boolean = false;\r\n  dynamicTaskName: MultiLingualTextBoxOptions;\r\n  dynamicTaskDescription: MultiLingualTextAreaOptions;\r\n  dynamicTaskURL: TextBoxOptions;\r\n  dynamicTaskType: DropdownOptions;\r\n  dynamicCanComplete: ToggleSlideOptions;\r\n\r\n\r\n  //Static types controls (Email,Sleep)\r\n  //Email Type Controls //+ initialize participant\r\n  showStaticControls: boolean = false;\r\n  staticOutcomeName: MultiLingualTextBoxOptions;\r\n  staticOutcomeSysName: TextBoxOptions;\r\n  staticOutcomeNextActivity: DropdownOptions;\r\n  staticOutcomeCanAddComment: ToggleSlideOptions;\r\n\r\n  //Condition type controls\r\n  showConditionControls: boolean = false;\r\n  conditionLHSDropDown: DropdownOptions;\r\n  conditionsDropDown: DropdownOptions;\r\n  conditionRHSTypeDropDown: DropdownOptions;\r\n  conditionRHSDropDown: DropdownOptions;\r\n  conditionRHSValue: TextBoxOptions;\r\n  showConditionRHSWFVariable: boolean = false;\r\n\r\n  //Outcomes (dynamic,condition)\r\n  outcomesOptions: any[] = [];\r\n  outcomesCount: number = 0;\r\n  showOutcomesContainer = false;\r\n\r\n  //RequiredLists\r\n  taskTypeList = [];\r\n  participantTypeList = [];\r\n  participantDataList = [];\r\n  nextActivityList = [];\r\n\r\n  //ConditionTypeRequiredLists\r\n  conditionLHSWFVariableList = [];\r\n  conditionRHSWFVariableList = [];\r\n  conditionRHSTypeList = [];\r\n  conditionList = [];\r\n\r\n  constructor(private workflowActivityService: WorkflowActivityService, public utilityService: UtilityService,\r\n    private activatedRoute: ActivatedRoute, private pageInfoService: PageInfoService, private router: Router, private requestHandlerService: RequestHandlerService,\r\n    private bbsfTranslateService: BBSFTranslateService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.versionID = params['vid'];\r\n\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    PageInfoService.PageTitle = \"\";\r\n    PageInfoService.PageBreadcrumbs = [\r\n    ];\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"AddWorkflowActivity\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"WorkFlows\"), path: '/Admin/Workflows/workflow', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize add page and required DDLs\r\n  initializePage() {\r\n    this.workflowActivityService.loadAddDropdowns().subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.ActivityTypeList = resultObj.activityList;\r\n\r\n      this.addworkflowActivityForm = new FormGroup({});\r\n      this.addworkflowActivityFormOptions = new FormOptions();\r\n      this.addworkflowActivityFormOptions.formGroup = this.addworkflowActivityForm;\r\n      this.addworkflowActivityFormOptions.getModelFunction = this.getAddWFActivityModel;\r\n      this.addworkflowActivityFormOptions.serviceSubmitFunction = this.getAddWFActivityFunction;\r\n      this.addworkflowActivityFormOptions.onSuccessHandler = this.onAddSuccess;\r\n\r\n      this.name = new MultiLingualTextBoxOptions();\r\n      this.name.name = \"Name\";\r\n      this.name.arabicLabelKey = \"NameInArabic\";\r\n      this.name.englishLabelKey = \"NameInEnglish\";\r\n      this.name.isRequired = true;\r\n      this.name.maxLength = 255;\r\n\r\n      this.sysName = new TextBoxOptions();\r\n      this.sysName.name = \"SysName\";\r\n      this.sysName.labelKey = \"SysName\";\r\n      this.sysName.type = InputType.Text;\r\n      this.sysName.isRequired = true;\r\n      this.sysName.maxLength = 100;\r\n\r\n      this.activityType = new DropdownOptions();\r\n      this.activityType.name = \"ActivityTypeItemID_GUID\";\r\n      this.activityType.labelKey = \"ActivityType\";\r\n      this.activityType.dataSource = this.ActivityTypeList;\r\n      this.activityType.singleSelection = true;\r\n      this.activityType.allowSearchFilter = true;\r\n      this.activityType.isRequired = true;\r\n\r\n      this.isAddFormLoaded = true;\r\n\r\n    });\r\n  }\r\n\r\n  //Add functions\r\n  getAddWFActivityModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addworkflowActivityForm.value as any;\r\n    let addModel = new WFActivityModel();\r\n    addModel.Name = ResultModel.Name;\r\n    addModel.SysName = ResultModel.SysName;\r\n    addModel.VersionID_GUID = this.versionID;\r\n    addModel.ActivityTypeItemID_GUID = ResultModel.ActivityTypeItemID_GUID?.toLowerCase();\r\n\r\n    //If participant exists\r\n    if (ResultModel[\"ParticipantDTO.ParticipantTypeItemIDsString\"] != undefined) {\r\n      addModel.ParticipantDTO = new ParticipantModel();\r\n      addModel.ParticipantDTO = new ParticipantModel();\r\n      addModel.ParticipantDTO.ParticipantTypeItemIDsString = ResultModel[\"ParticipantDTO.ParticipantTypeItemIDsString\"].toString();\r\n      if (ResultModel[\"ParticipantDTO.ParticipantTypeItemIDsString\"].includes(ParticipantType.PermissionSet)) {\r\n        addModel.ParticipantDTO.PermissionSetIDsString = ResultModel[\"ParticipantDTO.PermissionSetIDsString\"].toString();\r\n      }\r\n    }\r\n    switch (addModel.ActivityTypeItemID_GUID) {\r\n      case ActivityType.Approval:\r\n      case ActivityType.Action:\r\n      case ActivityType.PercentageTask:\r\n        addModel.TaskName = ResultModel.TaskName;\r\n        addModel.TaskDescription = ResultModel.TaskDescription;\r\n        addModel.TaskURL = ResultModel.TaskURL;\r\n        addModel.TaskCorrlTypeID = ResultModel.TaskCorrlTypeID != null ? Number(ResultModel.TaskCorrlTypeID) : null;\r\n        addModel.CanCompleteFromTME = ResultModel.CanCompleteFromTME;\r\n        break;\r\n      case ActivityType.Email:\r\n      case ActivityType.Sleep:\r\n        addModel.NormalOutcomeName = ResultModel.NormalOutcomeName;\r\n        addModel.OutcomeSysName = ResultModel.OutcomeSysName;\r\n        addModel.NextActivityID_GUID = ResultModel.NextActivityID_GUID;\r\n        addModel.CanAddComment = ResultModel.CanAddComment;\r\n        break;\r\n      case ActivityType.Condition:\r\n        addModel.LHSVariableID_GUID = ResultModel.LHSVariableID_GUID;\r\n        addModel.RHSVariableID_GUID = ResultModel.RHSVariableID_GUID;\r\n        addModel.RHSTypeItemID_GUID = ResultModel.RHSTypeItemID_GUID;\r\n        addModel.OperatorTypeItemID_GUID = ResultModel.OperatorTypeItemID_GUID;\r\n        addModel.RHSValue = ResultModel.RHSValue != undefined ? ResultModel.RHSValue : null;\r\n        break;\r\n\r\n    }\r\n    //Set Outcomes (dynamic,condition types)\r\n    for (let j = 0; j < this.outcomesCount; j++) {\r\n      let outcomeID = ResultModel[\"outcomeID\" + j];\r\n      if (outcomeID == undefined)\r\n        continue;\r\n\r\n      let outcomeName = ResultModel[\"outcomeName\" + j];\r\n\r\n      let outcomeSysName: string;\r\n      let outComeCanEditSysName = ResultModel[\"outcomeCanEditSysName\" + j];\r\n      if (outComeCanEditSysName)\r\n        outcomeSysName = ResultModel[\"outcomeDecisionSysName\" + j];\r\n      else\r\n        outcomeSysName = ResultModel[\"outcomeHiddeneSysName\" + j];\r\n\r\n      let outcomeActivity = ResultModel[\"outcomeNextActivityTypes\" + j];\r\n      let outcomeCanAddComment = ResultModel[\"outcomeCanAddComment\" + j];\r\n\r\n      let activityOutcome: WFActivityOutcomeModel = new WFActivityOutcomeModel();\r\n      activityOutcome.ID_GUID = outcomeID;\r\n      activityOutcome.NameEN = outcomeName.English;\r\n      activityOutcome.NameAR = outcomeName.Arabic;\r\n      activityOutcome.OutcomeSysName = outcomeSysName;\r\n      activityOutcome.NextActivityID_GUID = outcomeActivity;\r\n      activityOutcome.CanAddComment = outcomeCanAddComment;\r\n\r\n      addModel.Outcomes.push(activityOutcome);\r\n    }\r\n\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n  getAddWFActivityFunction = (AddModel): Observable<any> => {\r\n    return this.workflowActivityService.addWorkflowActivity(AddModel);\r\n  };\r\n  onAddSuccess = (result) => {\r\n    this.cancelAdd();\r\n  };\r\n\r\n  //Outcome functions\r\n  getActivityOutcomesOptions(outComes: any[]) {\r\n    let outcomesOptions: any[] = [];\r\n    let outcomesCount: number = 0;\r\n\r\n    for (let i = 0; i < outComes.length; i++) {\r\n      let currentOutcome = outComes[i];\r\n      let objectOutcomeOptions: any[] = [];\r\n\r\n      let outcomeID = new TextBoxOptions();\r\n      outcomeID.name = \"outcomeID\" + i;\r\n      outcomeID.hideLabel = true;\r\n      outcomeID.type = InputType.Text;\r\n      outcomeID.value = currentOutcome.iD_GUID;\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.english = currentOutcome.nameEN;\r\n      name.arabic = currentOutcome.nameAR;\r\n\r\n      let outcomeName = new MultiLingualTextBoxOptions();\r\n      outcomeName.name = \"outcomeName\" + i;\r\n      outcomeName.arabicLabelKey = \"NameInArabic\";\r\n      outcomeName.englishLabelKey = \"NameInEnglish\";\r\n      outcomeName.value = name;\r\n      outcomeName.isRequired = true;\r\n      outcomeName.maxLength = 255;\r\n\r\n      let outcomeDecisionSysName = new TextBoxOptions();\r\n      outcomeDecisionSysName.name = \"outcomeDecisionSysName\" + i;\r\n      outcomeDecisionSysName.labelKey = \"DecisionSysName\";\r\n      outcomeDecisionSysName.type = InputType.Text;\r\n      outcomeDecisionSysName.value = currentOutcome.outcomeSysName;\r\n      outcomeDecisionSysName.isDisabled = !currentOutcome.canEditSysName;\r\n      outcomeDecisionSysName.isRequired = true;\r\n      outcomeDecisionSysName.maxLength = 100;\r\n\r\n      let outcomeNextActivityTypes = new DropdownOptions();\r\n      outcomeNextActivityTypes.name = \"outcomeNextActivityTypes\" + i;\r\n      outcomeNextActivityTypes.labelKey = \"Activity\";\r\n      outcomeNextActivityTypes.dataSource = this.nextActivityList;\r\n      outcomeNextActivityTypes.singleSelection = true;\r\n      outcomeNextActivityTypes.allowSearchFilter = true;\r\n\r\n      let outcomeCanAddComment = new CheckBoxOptions();\r\n      outcomeCanAddComment.name = \"outcomeCanAddComment\" + i;\r\n      outcomeCanAddComment.value = currentOutcome.canAddComment;\r\n      outcomeCanAddComment.labelKey = \"CanAddComment\";\r\n\r\n      let outcomeCanEdit: boolean;\r\n      outcomeCanEdit = currentOutcome.canEdit;\r\n\r\n      let outcomeHiddeneSysName = new TextBoxOptions();\r\n      outcomeHiddeneSysName.name = \"outcomeHiddeneSysName\" + i;\r\n      outcomeHiddeneSysName.type = InputType.Text;\r\n      outcomeHiddeneSysName.value = currentOutcome.outcomeSysName;\r\n\r\n      let outcomeCanEditSysName = new CheckBoxOptions();\r\n      outcomeCanEditSysName.name = \"outcomeCanEditSysName\" + i;\r\n      outcomeCanEditSysName.value = currentOutcome.canEditSysName;\r\n\r\n      objectOutcomeOptions.push(outcomeID, outcomeName, outcomeDecisionSysName, outcomeNextActivityTypes,\r\n        outcomeCanAddComment, outcomeCanEdit, outcomeHiddeneSysName, outcomeCanEditSysName);\r\n\r\n\r\n      outcomesOptions.push(objectOutcomeOptions);\r\n      outcomesCount += 1;\r\n\r\n    }\r\n    return [outcomesOptions, outcomesCount];\r\n  }\r\n  addWFActivityOutcome() {\r\n    let index = this.outcomesCount;\r\n\r\n    let objectOutcomeOptions: any[] = [];\r\n\r\n    let outcomeID = new TextBoxOptions();\r\n    outcomeID.name = \"outcomeID\" + index;\r\n    outcomeID.hideLabel = true;\r\n    outcomeID.type = InputType.Text;\r\n    outcomeID.value = 0;\r\n\r\n    let outcomeName = new MultiLingualTextBoxOptions();\r\n    outcomeName.name = \"outcomeName\" + index;\r\n    outcomeName.arabicLabelKey = \"NameInArabic\";\r\n    outcomeName.englishLabelKey = \"NameInEnglish\";\r\n    outcomeName.isRequired = true;\r\n\r\n    let outcomeDecisionSysName = new TextBoxOptions();\r\n    outcomeDecisionSysName.name = \"outcomeDecisionSysName\" + index;\r\n    outcomeDecisionSysName.labelKey = \"DecisionSysName\";\r\n    outcomeDecisionSysName.type = InputType.Text;\r\n    outcomeDecisionSysName.isRequired = true;\r\n\r\n    let outcomeNextActivityTypes = new DropdownOptions();\r\n    outcomeNextActivityTypes.name = \"outcomeNextActivityTypes\" + index;\r\n    outcomeNextActivityTypes.labelKey = \"Activity\";\r\n    outcomeNextActivityTypes.dataSource = this.nextActivityList;\r\n    outcomeNextActivityTypes.singleSelection = true;\r\n    outcomeNextActivityTypes.allowSearchFilter = true;\r\n\r\n    let outcomeCanAddComment = new CheckBoxOptions();\r\n    outcomeCanAddComment.name = \"outcomeCanAddComment\" + index;\r\n    outcomeCanAddComment.labelKey = \"CanAddComment\";\r\n\r\n    let outcomeCanEdit: boolean;\r\n    outcomeCanEdit = true;\r\n\r\n    let outcomeHiddeneSysName = new TextBoxOptions();\r\n    outcomeHiddeneSysName.name = \"outcomeHiddeneSysName\" + index;\r\n    outcomeHiddeneSysName.type = InputType.Text;\r\n\r\n    let outcomeCanEditSysName = new CheckBoxOptions();\r\n    outcomeCanEditSysName.name = \"outcomeCanEditSysName\" + index;\r\n    outcomeCanEditSysName.value = true;\r\n\r\n    objectOutcomeOptions.push(outcomeID, outcomeName, outcomeDecisionSysName, outcomeNextActivityTypes, outcomeCanAddComment,\r\n      outcomeCanEdit, outcomeHiddeneSysName, outcomeCanEditSysName);\r\n\r\n    this.outcomesOptions.push(objectOutcomeOptions);\r\n    this.outcomesCount += 1;\r\n\r\n  }\r\n  deleteOutcome(deletedOutcome: any) {\r\n    let deletedOutcomeIndex: number = this.outcomesOptions.indexOf(deletedOutcome);\r\n    if (deletedOutcomeIndex !== -1) {\r\n      this.outcomesOptions.splice(deletedOutcomeIndex, 1);\r\n      for (var i = 0; i < deletedOutcome.length; i++) {\r\n        this.addworkflowActivityForm.removeControl(deletedOutcome[i].Name);\r\n      }\r\n    }\r\n  }\r\n\r\n  //On changes events\r\n  activityTypeOnChange(activityType) {\r\n    activityType = activityType?.toLowerCase();\r\n    //Reset controls, outcomes and flags\r\n    this.resetAllActivityTypeControls();\r\n    this.outcomesOptions = [];\r\n    this.outcomesCount = 0;\r\n    this.showParticipantContainer = false;\r\n    this.showDynamicControls = false;\r\n    this.showStaticControls = false;\r\n    this.showConditionControls = false;\r\n    this.showConditionRHSWFVariable = false;\r\n    this.showOutcomesContainer = false;\r\n\r\n    this.workflowActivityService.getActivityOutcomes(this.versionID, activityType).subscribe((result) => {\r\n      var resultObj = result as any;\r\n      var model = resultObj.model;\r\n      var list = resultObj.list;\r\n      this.nextActivityList = list.activities;\r\n\r\n      switch (activityType) {\r\n        case ActivityType.Approval:\r\n        case ActivityType.Action:\r\n        case ActivityType.PercentageTask:\r\n          this.taskTypeList = list.tasks;\r\n          this.participantTypeList = list.participants.participantTypes;\r\n          this.participantDataList = list.participants.participantData;\r\n\r\n          //Initialize required controls for approval\r\n          this.participantTypes = new DropdownOptions();\r\n          this.participantTypes.name = \"ParticipantDTO.ParticipantTypeItemIDsString\";\r\n          this.participantTypes.labelKey = \"ParticipantTypes\";\r\n          this.participantTypes.dataSource = this.participantTypeList;\r\n          this.participantTypes.singleSelection = false;\r\n          this.participantTypes.allowSearchFilter = true;\r\n          this.participantTypes.isRequired = true;\r\n\r\n          this.dynamicTaskName = new MultiLingualTextBoxOptions();\r\n          this.dynamicTaskName.name = \"TaskName\";\r\n          this.dynamicTaskName.arabicLabelKey = \"TaskNameInArabic\";\r\n          this.dynamicTaskName.englishLabelKey = \"TaskNameInEnglish\";\r\n          this.dynamicTaskName.maxLength = 255;\r\n\r\n          this.dynamicTaskDescription = new MultiLingualTextAreaOptions();\r\n          this.dynamicTaskDescription.name = \"TaskDescription\";\r\n          this.dynamicTaskDescription.arabicLabelKey = \"TaskDescriptionInArabic\";\r\n          this.dynamicTaskDescription.englishLabelKey = \"TaskDescriptionInEnglish\";\r\n          this.dynamicTaskDescription.maxLength = 255;\r\n\r\n          this.dynamicTaskURL = new TextBoxOptions();\r\n          this.dynamicTaskURL.name = \"TaskURL\";\r\n          this.dynamicTaskURL.labelKey = \"TaskURL\";\r\n          this.dynamicTaskURL.type = InputType.Text;\r\n          this.dynamicTaskURL.maxLength = 2083;\r\n\r\n          this.dynamicTaskType = new DropdownOptions();\r\n          this.dynamicTaskType.name = \"TaskCorrlTypeID\";\r\n          this.dynamicTaskType.labelKey = \"TaskType\";\r\n          this.dynamicTaskType.dataSource = this.taskTypeList;\r\n          this.dynamicTaskType.singleSelection = true;\r\n          this.dynamicTaskType.allowSearchFilter = true;\r\n          this.dynamicTaskType.isRequired = true;\r\n\r\n          this.dynamicCanComplete = new ToggleSlideOptions();\r\n          this.dynamicCanComplete.name = \"CanCompleteFromTME\";\r\n          this.dynamicCanComplete.labelKey = \"CanCompleteFromTME\";\r\n          this.dynamicCanComplete.viewType = ControlLayout.Horizontal;\r\n          this.dynamicCanComplete.value = model.canCompleteFromTME;\r\n\r\n          let outcomesResult: any = this.getActivityOutcomesOptions(model.outcomes);\r\n          this.outcomesOptions = outcomesResult[0];\r\n          this.outcomesCount = outcomesResult[1];\r\n\r\n          this.showDynamicControls = true;\r\n          this.showParticipantContainer = true;\r\n          this.showOutcomesContainer = true;\r\n          break;\r\n        case ActivityType.Email:\r\n        case ActivityType.Sleep:\r\n          if (activityType == ActivityType.Email) {\r\n            this.participantTypeList = list.participants.participantTypes;\r\n            this.participantDataList = list.participants.participantData;\r\n            this.participantTypes = new DropdownOptions();\r\n            this.participantTypes.name = \"ParticipantDTO.ParticipantTypeItemIDsString\";\r\n            this.participantTypes.labelKey = \"ParticipantTypes\";\r\n            this.participantTypes.dataSource = this.participantTypeList;\r\n            this.participantTypes.singleSelection = false;\r\n            this.participantTypes.allowSearchFilter = true;\r\n            this.participantTypes.isRequired = true;\r\n            this.showParticipantContainer = true;\r\n          }\r\n          let name = new EnglishArabicDTO();\r\n          name.arabic = model.normalOutcomeName.arabic;\r\n          name.english = model.normalOutcomeName.english;\r\n\r\n          this.staticOutcomeName = new MultiLingualTextBoxOptions();\r\n          this.staticOutcomeName.name = \"NormalOutcomeName\";\r\n          this.staticOutcomeName.arabicLabelKey = \"OutcomeNameInArabic\";\r\n          this.staticOutcomeName.englishLabelKey = \"OutcomeNameInEnglish\";\r\n          this.staticOutcomeName.isRequired = true;\r\n          this.staticOutcomeName.value = name;\r\n          this.staticOutcomeName.maxLength = 255;\r\n\r\n          this.staticOutcomeSysName = new TextBoxOptions();\r\n          this.staticOutcomeSysName.name = \"OutcomeSysName\";\r\n          this.staticOutcomeSysName.labelKey = \"DecisionSysName\";\r\n          this.staticOutcomeSysName.type = InputType.Text;\r\n          this.staticOutcomeSysName.isRequired = true;\r\n          this.staticOutcomeSysName.maxLength = 100;\r\n\r\n          this.staticOutcomeNextActivity = new DropdownOptions();\r\n          this.staticOutcomeNextActivity.name = \"NextActivityID_GUID\";\r\n          this.staticOutcomeNextActivity.labelKey = \"NextActivity\";\r\n          this.staticOutcomeNextActivity.dataSource = this.nextActivityList;\r\n          this.staticOutcomeNextActivity.singleSelection = true;\r\n          this.staticOutcomeNextActivity.allowSearchFilter = true;\r\n          this.staticOutcomeNextActivity.isRequired = true;\r\n\r\n          this.staticOutcomeCanAddComment = new ToggleSlideOptions();\r\n          this.staticOutcomeCanAddComment.name = \"CanAddComment\";\r\n          this.staticOutcomeCanAddComment.labelKey = \"CanAddComment\";\r\n          this.staticOutcomeCanAddComment.viewType = ControlLayout.Horizontal;\r\n          this.staticOutcomeCanAddComment.value = model.canAddComment;\r\n\r\n          this.showStaticControls = true;\r\n          break;\r\n        case ActivityType.Condition:\r\n          this.conditionLHSWFVariableList = list.wfVariables;\r\n          this.conditionRHSWFVariableList = list.wfVariables;\r\n          this.conditionRHSTypeList = list.rhsTypes;\r\n          this.conditionList = list.conditions;\r\n\r\n          this.conditionLHSDropDown = new DropdownOptions();\r\n          this.conditionLHSDropDown.name = \"LHSVariableID_GUID\";\r\n          this.conditionLHSDropDown.hideLabel = true;\r\n          this.conditionLHSDropDown.placeholder = \"WorkflowVariables\";\r\n          this.conditionLHSDropDown.dataSource = this.conditionLHSWFVariableList;\r\n          this.conditionLHSDropDown.singleSelection = true;\r\n          this.conditionLHSDropDown.allowSearchFilter = true;\r\n          this.conditionLHSDropDown.isRequired = true;\r\n\r\n          this.conditionsDropDown = new DropdownOptions();\r\n          this.conditionsDropDown.name = \"OperatorTypeItemID_GUID\";\r\n          this.conditionsDropDown.hideLabel = true;\r\n          this.conditionsDropDown.placeholder = \"Condition\";\r\n          this.conditionsDropDown.dataSource = this.conditionList;\r\n          this.conditionsDropDown.singleSelection = true;\r\n          this.conditionsDropDown.isRequired = true;\r\n\r\n          let selectedRHSType = this.conditionRHSTypeList.filter((item) => { return item.key?.toLowerCase() == Righthandsidetype.Variable; }).map((item) => item.key)[0];\r\n          this.conditionRHSTypeDropDown = new DropdownOptions();\r\n          this.conditionRHSTypeDropDown.name = \"RHSTypeItemID_GUID\";\r\n          this.conditionRHSTypeDropDown.hideLabel = true;\r\n          this.conditionRHSTypeDropDown.dataSource = this.conditionRHSTypeList;\r\n          this.conditionRHSTypeDropDown.singleSelection = true;\r\n          this.conditionRHSTypeDropDown.isRequired = true;\r\n          this.conditionRHSTypeDropDown.selectedItems = selectedRHSType;\r\n\r\n          this.conditionRHSDropDown = new DropdownOptions();\r\n          this.conditionRHSDropDown.name = \"RHSVariableID_GUID\";\r\n          this.conditionRHSDropDown.hideLabel = true;\r\n          this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n          this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n          this.conditionRHSDropDown.singleSelection = true;\r\n          this.conditionRHSDropDown.isRequired = true;\r\n\r\n          let conditionOutcomesResult: any = this.getActivityOutcomesOptions(model.outcomes);\r\n          this.outcomesOptions = conditionOutcomesResult[0];\r\n          this.outcomesCount = conditionOutcomesResult[1];\r\n\r\n          this.showConditionControls = true;\r\n          this.showConditionRHSWFVariable = true;\r\n          this.showOutcomesContainer = true;\r\n          break;\r\n      }\r\n      this.canAddOutcome = this.showOutcomesContainer ? model.canAddOutcome : false;\r\n\r\n    });\r\n\r\n  }\r\n  conditionRHSTypeOnChange(type) {\r\n    type = type.toLowerCase();\r\n    if (type == Righthandsidetype.Variable) {\r\n      this.addworkflowActivityForm.removeControl(\"RHSValue\");\r\n\r\n      this.conditionRHSDropDown = new DropdownOptions();\r\n      this.conditionRHSDropDown.name = \"RHSVariableID_GUID\";\r\n      this.conditionRHSDropDown.hideLabel = true;\r\n      this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n      this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n      this.conditionRHSDropDown.singleSelection = true;\r\n      this.conditionRHSDropDown.isRequired = true;\r\n\r\n      this.showConditionRHSWFVariable = true;\r\n    }\r\n    else {\r\n      this.addworkflowActivityForm.removeControl(\"RHSVariableID_GUID\");\r\n\r\n      this.conditionRHSValue = new TextBoxOptions();\r\n      this.conditionRHSValue.name = \"RHSValue\";\r\n      this.conditionRHSValue.hideLabel = true;\r\n      this.conditionRHSValue.placeholder = \"Value\";\r\n      this.conditionRHSValue.type = InputType.Text;\r\n      this.conditionRHSValue.isRequired = true;\r\n      this.conditionRHSValue.maxLength = 512;\r\n\r\n      this.showConditionRHSWFVariable = false;\r\n\r\n    }\r\n  }\r\n  participantTypeOnChange(participantType) {\r\n    participantType = participantType?.toLowerCase();\r\n    if (participantType == ParticipantType.PermissionSet) {\r\n      this.participantPermissionSet = new DropdownOptions();\r\n      this.participantPermissionSet.name = \"ParticipantDTO.PermissionSetIDsString\";\r\n      this.participantPermissionSet.labelKey = \"PermissionSet\";\r\n      this.participantPermissionSet.dataSource = this.participantDataList;\r\n      this.participantPermissionSet.singleSelection = false;\r\n      this.participantPermissionSet.allowSearchFilter = true;\r\n      this.showParticipantPermssionSet = true;\r\n    }\r\n    else {\r\n      this.addworkflowActivityForm.removeControl(\"ParticipantDTO.PermissionSetIDsString\");\r\n      this.showParticipantPermssionSet = false;\r\n    }\r\n  }\r\n\r\n  //reset type\r\n  resetAllActivityTypeControls() {\r\n    this.addworkflowActivityForm.removeControl(\"ParticipantDTO.ParticipantTypeItemIDsString\");\r\n    this.addworkflowActivityForm.removeControl(\"ParticipantDTO.PermissionSetIDsString\");\r\n    this.addworkflowActivityForm.removeControl(\"ParticipantDTO.PermissionSetIDsString\");\r\n    this.addworkflowActivityForm.removeControl(\"TaskName\");\r\n    this.addworkflowActivityForm.removeControl(\"TaskDescription\");\r\n    this.addworkflowActivityForm.removeControl(\"TaskURL\");\r\n    this.addworkflowActivityForm.removeControl(\"TaskCorrlTypeID\");\r\n    this.addworkflowActivityForm.removeControl(\"CanCompleteFromTME\");\r\n\r\n    this.addworkflowActivityForm.removeControl(\"NormalOutcomeName\");\r\n    this.addworkflowActivityForm.removeControl(\"OutcomeSysName\");\r\n    this.addworkflowActivityForm.removeControl(\"NextActivityID_GUID\");\r\n    this.addworkflowActivityForm.removeControl(\"CanAddComment\");\r\n\r\n    this.addworkflowActivityForm.removeControl(\"LHSVariableID_GUID\");\r\n    this.addworkflowActivityForm.removeControl(\"OperatorTypeItemID_GUID\");\r\n    this.addworkflowActivityForm.removeControl(\"RHSTypeItemID_GUID\");\r\n    this.addworkflowActivityForm.removeControl(\"RHSVariableID_GUID\");\r\n    this.addworkflowActivityForm.removeControl(\"RHSValue\");\r\n\r\n    //Remove outcomes controls\r\n    let ResultModel = this.addworkflowActivityForm.value;\r\n    for (let i = 0; i < this.outcomesCount; i++) {\r\n      let outcomeID = ResultModel[\"outcomeID\" + i];\r\n      if (outcomeID == undefined)\r\n        continue;\r\n\r\n      this.addworkflowActivityForm.removeControl(\"outcomeID\" + i);\r\n      this.addworkflowActivityForm.removeControl(\"outcomeName\" + i);\r\n      this.addworkflowActivityForm.removeControl(\"outcomeDecisionSysName\" + i);\r\n      this.addworkflowActivityForm.removeControl(\"outcomeHiddeneSysName\" + i);\r\n      this.addworkflowActivityForm.removeControl(\"outcomeNextActivityTypes\" + i);\r\n      this.addworkflowActivityForm.removeControl(\"outcomeCanAddComment\" + i);\r\n    }\r\n  }\r\n\r\n  //Cancel\r\n  cancelAdd() {\r\n    this.router.navigate(['/Admin/Workflows/workflow/']);\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"isAddFormLoaded\">\r\n    <div class=\"card-body py-3\">\r\n      <BBSF-Form [options]=\"addworkflowActivityFormOptions\">\r\n        <!--Start shared controls container-->\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"name\" [group]=\"addworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"sysName\" [group]=\"addworkflowActivityForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"activityType\" [group]=\"addworkflowActivityForm\" (OnChange)=\"activityTypeOnChange($event)\">\r\n            </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <!--End shared controls container-->\r\n        <!--Start participant container-->\r\n        <div id=\"participantContainer\" *ngIf=\"showParticipantContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"participantTypes\" [group]=\"addworkflowActivityForm\" (OnChange)=\"participantTypeOnChange($event)\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div *ngIf=\"showParticipantPermssionSet\" class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"participantPermissionSet\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End participant container-->\r\n        <!--Start static controls-->\r\n        <div *ngIf=\"showStaticControls\" id=\"staticContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextBox [options]=\"staticOutcomeName\" [group]=\"addworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-TextBox [options]=\"staticOutcomeSysName\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"staticOutcomeNextActivity\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-Toggleslide [options]=\"staticOutcomeCanAddComment\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End static controls-->\r\n        <!--Start dynamic controls-->\r\n        <div *ngIf=\"showDynamicControls\" id=\"dynamicContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextBox [options]=\"dynamicTaskName\" [group]=\"addworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextArea [options]=\"dynamicTaskDescription\" [group]=\"addworkflowActivityForm\"></BBSF-MultiLingualTextArea>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-TextBox [options]=\"dynamicTaskURL\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"dynamicTaskType\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-Toggleslide [options]=\"dynamicCanComplete\" [group]=\"addworkflowActivityForm\">\r\n              </BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End dynamic controls-->\r\n\r\n        <!--Start condition controls-->\r\n        <div *ngIf=\"showConditionControls\" id=\"conditionContainer\">\r\n          <div class=\"table-responsive\">\r\n            <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n              <thead>\r\n                <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"LeftHandSide\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Condition\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"RightHandSideType\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"RightHandSide\")}}</th>\r\n                </tr>\r\n              </thead>\r\n              <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                <tr>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionLHSDropDown\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionsDropDown\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionRHSTypeDropDown\" [group]=\"addworkflowActivityForm\" (OnChange)=\"conditionRHSTypeOnChange($event)\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td *ngIf=\"showConditionRHSWFVariable; else conditionTxtValue\">\r\n                    <BBSF-DropdownList [options]=\"conditionRHSDropDown\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <ng-template #conditionTxtValue>\r\n                    <td>\r\n                      <BBSF-TextBox [options]=\"conditionRHSValue\" [group]=\"addworkflowActivityForm\">\r\n                      </BBSF-TextBox>\r\n                    </td>\r\n                  </ng-template>\r\n                </tr>\r\n              </tbody>\r\n            </table>\r\n          </div>\r\n        </div>\r\n        <!--End condition controls-->\r\n\r\n        <!--Start outcomes container-->\r\n        <div *ngIf=\"showOutcomesContainer\" id=\"outcomesContainer\" class=\"row\">\r\n          <div class=\"table-responsive\">\r\n            <!-- begin::Table -->\r\n            <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n              <thead>\r\n                <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Decision\")}}</th>\r\n                  <th class=\"min-w-150px\"></th>\r\n                  <th class=\"min-w-150px\"></th>\r\n                  <th class=\"min-w-150px\"></th>\r\n                  <th class=\"min-w-150px\"></th>\r\n                </tr>\r\n              </thead>\r\n              <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                <tr *ngFor=\"let option of outcomesOptions;let i=index;\">\r\n\r\n                  <td>\r\n                    <!--ID-->\r\n                    <BBSF-TextBox [hidden]=\"true\" [options]=\"option[0]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-TextBox>\r\n                    <!--Name-->\r\n                    <BBSF-MultiLingualTextBox [options]=\"option[1]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-MultiLingualTextBox>\r\n                  </td>\r\n                  <td>\r\n                    <!--SysName-->\r\n                    <BBSF-TextBox [options]=\"option[2]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-TextBox>\r\n                    <!--hidden SysName-->\r\n                    <BBSF-TextBox [hidden]=\"true\" [options]=\"option[6]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-TextBox>\r\n                    <!--can edit SysName-->\r\n                    <BBSF-CheckBox [hidden]=\"true\" [options]=\"option[7]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-CheckBox>\r\n                  </td>\r\n                  <td>\r\n                    <!--NextActivity-->\r\n                    <BBSF-DropdownList [options]=\"option[3]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td>\r\n                    <!--CanAddComment-->\r\n                    <BBSF-CheckBox [options]=\"option[4]\" [group]=\"addworkflowActivityForm\">\r\n                    </BBSF-CheckBox>\r\n                  </td>\r\n\r\n                  <td>\r\n                    <!--if outcome Can Edit-->\r\n                    <a *ngIf=\"option[5]\" class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteOutcome(option)\">\r\n                      <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                    </a>\r\n                  </td>\r\n                </tr>\r\n                <tr *ngIf=\"canAddOutcome\">\r\n                  <td colspan=\"5\">\r\n                    <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addWFActivityOutcome()\">\r\n                      {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                    </button>\r\n                  </td>\r\n                </tr>\r\n              </tbody>\r\n            </table>\r\n          </div>\r\n\r\n        </div>\r\n        <!--End outcomes container-->\r\n\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"cancelAdd()\">\r\n            {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CheckBoxOptions, ControlLayout, DropdownOptions, EnglishArabicDTO, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, TextBoxOptions, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { BBSFTranslateService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { PageInfoService } from '../../../../_metronic/core/services/page-info.service';\r\nimport { ActivityType, ParticipantType, Righthandsidetype } from '../../../shared/constants';\r\nimport { ConditionRHSType } from '../../../shared/Enums/configuration/ConditionRHSType';\r\nimport { ParticipantModel } from '../../../shared/models/ImpersonationRuleModels/ParticipantModel';\r\nimport { WFActivityModel } from '../../../shared/models/WorkflowModels/WFActivityModel';\r\nimport { WFActivityOutcomeModel } from '../../../shared/models/WorkflowModels/WFActivityOutcomeModel';\r\nimport { WorkflowActivityService } from '../../../shared/Services/WorkflowActivityService.service';\r\n\r\n@Component({\r\n    selector: 'lib-workflow-activity-edit',\r\n    templateUrl: './workflow-activity-edit.component.html',\r\n    standalone: false\r\n})\r\nexport class WorkflowActivityEditComponent implements OnInit {\r\n  //Page requirements\r\n  isEditFormLoaded: boolean = false;\r\n  versionID: string;\r\n  activityID: string;\r\n  activityModel: any;\r\n  isPublished: boolean;\r\n\r\n  //Edit Activity shared controls\r\n  editworkflowActivityForm = new FormGroup({});\r\n  editworkflowActivityFormOptions = new FormOptions;\r\n  name: MultiLingualTextBoxOptions;\r\n  canAddOutcome: boolean;\r\n  activityTypeID: string;\r\n  showActivityType: boolean = false;\r\n\r\n  //Non published Activity controls\r\n  sysName: TextBoxOptions;\r\n  activityType: DropdownOptions;\r\n\r\n  //Shared Participant type and data (Non Published only)\r\n  showParticipantContainer: boolean = false;\r\n  showParticipantPermssionSet: boolean = false;\r\n  participantTypes: DropdownOptions;\r\n  participantPermissionSet: DropdownOptions;\r\n\r\n  //Dynamic Types Controls //(Approval,Action,Percentage)\r\n  showDynamicControls: boolean = false;\r\n  dynamicTaskName: MultiLingualTextBoxOptions;\r\n  dynamicTaskDescription: MultiLingualTextAreaOptions;\r\n  dynamicTaskURL: TextBoxOptions;\r\n  dynamicTaskType: DropdownOptions;\r\n  dynamicCanComplete: ToggleSlideOptions;\r\n\r\n  //Static types controls (Email,Sleep) (Non published only)\r\n  //Email Type Controls //+ initialize participant\r\n  showStaticControls: boolean = false;\r\n  staticOutcomeName: MultiLingualTextBoxOptions;\r\n  staticOutcomeSysName: TextBoxOptions;\r\n  staticOutcomeNextActivity: DropdownOptions;\r\n  staticOutcomeCanAddComment: ToggleSlideOptions;\r\n\r\n  //Condition type controls\r\n  showConditionControls: boolean = false;\r\n  conditionLHSDropDown: DropdownOptions;\r\n  conditionsDropDown: DropdownOptions;\r\n  conditionRHSTypeDropDown: DropdownOptions;\r\n  conditionRHSDropDown: DropdownOptions;\r\n  conditionRHSValue: TextBoxOptions;\r\n  showConditionRHSWFVariable: boolean = false;\r\n\r\n  //Shared required lists\r\n  ActivityTypeList: any[] = [];\r\n\r\n  //Outcomes (dynamic,condition)\r\n  outcomesOptions: any[] = [];\r\n  outcomesCount: number = 0;\r\n  showOutcomesContainer = false;\r\n\r\n  //RequiredLists\r\n  taskTypeList = [];\r\n  participantTypeList = [];\r\n  participantDataList = [];\r\n  nextActivityList = [];\r\n\r\n  //ConditionTypeRequiredLists\r\n  conditionLHSWFVariableList = [];\r\n  conditionRHSWFVariableList = [];\r\n  conditionRHSTypeList = [];\r\n  conditionList = [];\r\n  constructor(private workflowActivityService: WorkflowActivityService, private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private activatedRoute: ActivatedRoute, private router: Router, private requestHandlerService: RequestHandlerService,\r\n    private bbsfTranslateService: BBSFTranslateService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.activityID = params['activityid'];\r\n\r\n    });\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"EditWorkflowActivity\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"WorkFlows\"), path: '/Admin/Workflows/workflow', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize edit model and required DDLs\r\n  initializePage() {\r\n    this.workflowActivityService.getEditWorkFlowActivityData(this.activityID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.activityModel = resultObj.model;\r\n      var list = resultObj.list;\r\n      this.ActivityTypeList = resultObj.activityList;\r\n      this.nextActivityList = list.activities;\r\n      this.activityTypeID = this.activityModel.activityTypeItemID_GUID?.toLowerCase();\r\n      this.isPublished = this.activityModel.isPublished;\r\n      this.versionID = this.activityModel.versionID_GUID;\r\n\r\n      this.editworkflowActivityForm = new FormGroup({});\r\n      this.editworkflowActivityFormOptions = new FormOptions();\r\n      this.editworkflowActivityFormOptions.formGroup = this.editworkflowActivityForm;\r\n      this.editworkflowActivityFormOptions.getModelFunction = this.getEditWFActivityModel;\r\n      this.editworkflowActivityFormOptions.serviceSubmitFunction = this.getEditWFActivityFunction;\r\n      this.editworkflowActivityFormOptions.onSuccessHandler = this.onEditSuccess;\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.english = this.activityModel.name.english;\r\n      name.arabic = this.activityModel.name.arabic;\r\n      this.name = new MultiLingualTextBoxOptions();\r\n      this.name.name = \"name\";\r\n      this.name.arabicLabelKey = \"NameInArabic\";\r\n      this.name.englishLabelKey = \"NameInEnglish\";\r\n      this.name.isRequired = true;\r\n      this.name.value = name;\r\n      this.name.maxLength = 255;\r\n\r\n      let outcomesResult: any = this.getActivityOutcomesOptions(this.activityModel.outcomes, this.isPublished);\r\n      this.outcomesOptions = outcomesResult[0];\r\n      this.outcomesCount = outcomesResult[1];\r\n\r\n      this.showActivityType = false;\r\n\r\n      if (this.isPublished) {\r\n        switch (this.activityTypeID) {\r\n          case ActivityType.Approval:\r\n          case ActivityType.Action:\r\n          case ActivityType.PercentageTask:\r\n            this.taskTypeList = list.tasks;\r\n            let taskName = new EnglishArabicDTO();\r\n            taskName.english = this.activityModel.taskName.english;\r\n            taskName.arabic = this.activityModel.taskName.arabic;\r\n\r\n            let taskDescription = new EnglishArabicDTO();\r\n            taskDescription.english = this.activityModel.taskDescription.english;\r\n            taskDescription.arabic = this.activityModel.taskDescription.arabic;\r\n\r\n            this.dynamicTaskName = new MultiLingualTextBoxOptions();\r\n            this.dynamicTaskName.name = \"dynamicTaskName\";\r\n            this.dynamicTaskName.arabicLabelKey = \"TaskNameInArabic\";\r\n            this.dynamicTaskName.englishLabelKey = \"TaskNameInEnglish\";\r\n            this.dynamicTaskName.value = taskName;\r\n            this.dynamicTaskName.maxLength = 255;\r\n\r\n            this.dynamicTaskDescription = new MultiLingualTextAreaOptions();\r\n            this.dynamicTaskDescription.name = \"dynamicTaskDescription\";\r\n            this.dynamicTaskDescription.arabicLabelKey = \"TaskDescriptionInArabic\";\r\n            this.dynamicTaskDescription.englishLabelKey = \"TaskDescriptionInEnglish\";\r\n            this.dynamicTaskDescription.value = taskDescription;\r\n            this.dynamicTaskDescription.maxLength = 255;\r\n\r\n            this.dynamicTaskURL = new TextBoxOptions();\r\n            this.dynamicTaskURL.name = \"dynamicTaskURL\";\r\n            this.dynamicTaskURL.labelKey = \"TaskURL\";\r\n            this.dynamicTaskURL.type = InputType.Text;\r\n            this.dynamicTaskURL.value = this.activityModel.taskURL;\r\n            this.dynamicTaskURL.maxLength = 2083;\r\n\r\n            this.dynamicTaskType = new DropdownOptions();\r\n            this.dynamicTaskType.name = \"dynamicTaskType\";\r\n            this.dynamicTaskType.labelKey = \"TaskType\";\r\n            this.dynamicTaskType.dataSource = this.taskTypeList;\r\n            this.dynamicTaskType.singleSelection = true;\r\n            this.dynamicTaskType.allowSearchFilter = true;\r\n            this.dynamicTaskType.isRequired = true;\r\n            this.dynamicTaskType.selectedItems = this.activityModel.taskCorrlTypeID?.toLowerCase();\r\n\r\n            this.dynamicCanComplete = new ToggleSlideOptions();\r\n            this.dynamicCanComplete.name = \"dynamicCanComplete\";\r\n            this.dynamicCanComplete.labelKey = \"CanCompleteFromTME\";\r\n            this.dynamicCanComplete.viewType = ControlLayout.Horizontal;\r\n            this.dynamicCanComplete.value = this.activityModel.canCompleteFromTME;\r\n\r\n            this.showDynamicControls = true;\r\n            break;\r\n          case ActivityType.Condition:\r\n            this.conditionLHSWFVariableList = list.wfVariables;\r\n            this.conditionRHSWFVariableList = list.wfVariables;\r\n            this.conditionRHSTypeList = list.rhsTypes;\r\n            this.conditionList = list.conditions;\r\n\r\n            this.conditionLHSDropDown = new DropdownOptions();\r\n            this.conditionLHSDropDown.name = \"conditionLHSDropDown\";\r\n            this.conditionLHSDropDown.hideLabel = true;\r\n            this.conditionLHSDropDown.placeholder = \"WorkflowVariables\";\r\n            this.conditionLHSDropDown.dataSource = this.conditionLHSWFVariableList;\r\n            this.conditionLHSDropDown.singleSelection = true;\r\n            this.conditionLHSDropDown.allowSearchFilter = true;\r\n            this.conditionLHSDropDown.isRequired = true;\r\n            this.conditionLHSDropDown.selectedItems = this.activityModel.lhsVariableID_GUID?.toLowerCase();\r\n\r\n            this.conditionsDropDown = new DropdownOptions();\r\n            this.conditionsDropDown.name = \"conditionsDropDown\";\r\n            this.conditionsDropDown.hideLabel = true;\r\n            this.conditionsDropDown.placeholder = \"Condition\";\r\n            this.conditionsDropDown.dataSource = this.conditionList;\r\n            this.conditionsDropDown.singleSelection = true;\r\n            this.conditionsDropDown.isRequired = true;\r\n            this.conditionsDropDown.selectedItems = this.activityModel.operatorTypeItemID_GUID?.toLowerCase();\r\n\r\n            this.conditionRHSTypeDropDown = new DropdownOptions();\r\n            this.conditionRHSTypeDropDown.name = \"conditionRHSTypeDropDown\";\r\n            this.conditionRHSTypeDropDown.hideLabel = true;\r\n            this.conditionRHSTypeDropDown.dataSource = this.conditionRHSTypeList;\r\n            this.conditionRHSTypeDropDown.singleSelection = true;\r\n            this.conditionRHSTypeDropDown.isRequired = true;\r\n            this.conditionRHSTypeDropDown.selectedItems = this.activityModel.rhsTypeItemID_GUID?.toLowerCase();\r\n\r\n\r\n            if (this.activityModel.RHSTypeItemID_GUID?.toLowerCase() == Righthandsidetype.Variable) {\r\n              this.conditionRHSDropDown = new DropdownOptions();\r\n              this.conditionRHSDropDown.name = \"conditionRHSDropDown\";\r\n              this.conditionRHSDropDown.hideLabel = true;\r\n              this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n              this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n              this.conditionRHSDropDown.singleSelection = true;\r\n              this.conditionRHSDropDown.isRequired = true;\r\n              this.conditionRHSDropDown.selectedItems = this.activityModel.rhsVariableID_GUID?.toLowerCase();\r\n\r\n              this.showConditionRHSWFVariable = true;\r\n            }\r\n            else {\r\n              this.conditionRHSValue = new TextBoxOptions();\r\n              this.conditionRHSValue.name = \"conditionRHSValue\";\r\n              this.conditionRHSValue.hideLabel = true;\r\n              this.conditionRHSValue.placeholder = \"Value\";\r\n              this.conditionRHSValue.type = InputType.Text;\r\n              this.conditionRHSValue.isRequired = true;\r\n              this.conditionRHSValue.value = this.activityModel.rhsValue;\r\n              this.conditionRHSValue.maxLength = 512;\r\n\r\n              this.showConditionRHSWFVariable = false;\r\n            }\r\n\r\n            this.showConditionControls = true;\r\n            break;\r\n        }\r\n\r\n        this.showOutcomesContainer = true;\r\n      }\r\n      else {\r\n        this.sysName = new TextBoxOptions();\r\n        this.sysName.name = \"sysName\";\r\n        this.sysName.labelKey = \"SysName\";\r\n        this.sysName.type = InputType.Text;\r\n        this.sysName.isRequired = true;\r\n        this.sysName.value = this.activityModel.sysName;\r\n        this.sysName.maxLength = 100;\r\n\r\n        if (this.activityTypeID != ActivityType.Start) {\r\n          this.showActivityType = true;\r\n\r\n          this.activityType = new DropdownOptions();\r\n          this.activityType.name = \"activityType\";\r\n          this.activityType.labelKey = \"ActivityType\";\r\n          this.activityType.dataSource = this.ActivityTypeList;\r\n          this.activityType.singleSelection = true;\r\n          this.activityType.allowSearchFilter = true;\r\n          this.activityType.isRequired = true;\r\n          this.activityType.selectedItems = this.activityTypeID;\r\n        }\r\n\r\n        switch (this.activityTypeID) {\r\n          case ActivityType.Approval:\r\n          case ActivityType.Action:\r\n          case ActivityType.PercentageTask:\r\n            this.taskTypeList = list.tasks;\r\n            this.participantTypeList = list.participants.participantTypes;\r\n            this.participantDataList = list.participants.participantData;\r\n\r\n            let taskName = new EnglishArabicDTO();\r\n            taskName.english = this.activityModel.taskName.english;\r\n            taskName.arabic = this.activityModel.taskName.arabic;\r\n\r\n            let taskDescription = new EnglishArabicDTO();\r\n            taskDescription.english = this.activityModel.taskDescription.english;\r\n            taskDescription.arabic = this.activityModel.taskDescription.arabic;\r\n            //Initialize required controls for approval\r\n            this.participantTypes = new DropdownOptions();\r\n            this.participantTypes.name = \"participantTypes\";\r\n            this.participantTypes.labelKey = \"ParticipantTypes\";\r\n            this.participantTypes.dataSource = this.participantTypeList;\r\n            this.participantTypes.singleSelection = false;\r\n            this.participantTypes.allowSearchFilter = true;\r\n            this.participantTypes.isRequired = true;\r\n            this.participantTypes.selectedItems = this.activityModel.participantTypeItemIDsStringList;\r\n\r\n            if (this.activityModel.participantTypeItemIDsStringList.includes(ParticipantType.PermissionSet)) {\r\n              this.participantPermissionSet = new DropdownOptions();\r\n              this.participantPermissionSet.name = \"participantPermissionSet\";\r\n              this.participantPermissionSet.labelKey = \"PermissionSet\";\r\n              this.participantPermissionSet.dataSource = this.participantDataList;\r\n              this.participantPermissionSet.singleSelection = false;\r\n              this.participantPermissionSet.allowSearchFilter = true;\r\n              this.participantPermissionSet.selectedItems = this.activityModel.participantPermsetsIDsString;\r\n              this.showParticipantPermssionSet = true;\r\n            }\r\n\r\n            this.dynamicTaskName = new MultiLingualTextBoxOptions();\r\n            this.dynamicTaskName.name = \"dynamicTaskName\";\r\n            this.dynamicTaskName.arabicLabelKey = \"TaskNameInArabic\";\r\n            this.dynamicTaskName.englishLabelKey = \"TaskNameInEnglish\";\r\n            this.dynamicTaskName.value = taskName;\r\n            this.dynamicTaskName.maxLength = 255;\r\n\r\n            this.dynamicTaskDescription = new MultiLingualTextAreaOptions();\r\n            this.dynamicTaskDescription.name = \"dynamicTaskDescription\";\r\n            this.dynamicTaskDescription.arabicLabelKey = \"TaskDescriptionInArabic\";\r\n            this.dynamicTaskDescription.englishLabelKey = \"TaskDescriptionInEnglish\";\r\n            this.dynamicTaskDescription.value = taskDescription;\r\n            this.dynamicTaskDescription.maxLength = 255;\r\n\r\n            this.dynamicTaskURL = new TextBoxOptions();\r\n            this.dynamicTaskURL.name = \"dynamicTaskURL\";\r\n            this.dynamicTaskURL.labelKey = \"TaskURL\";\r\n            this.dynamicTaskURL.type = InputType.Text;\r\n            this.dynamicTaskURL.value = this.activityModel.taskURL;\r\n            this.dynamicTaskURL.maxLength = 2083;\r\n\r\n            this.dynamicTaskType = new DropdownOptions();\r\n            this.dynamicTaskType.name = \"dynamicTaskType\";\r\n            this.dynamicTaskType.labelKey = \"TaskType\";\r\n            this.dynamicTaskType.dataSource = this.taskTypeList;\r\n            this.dynamicTaskType.singleSelection = true;\r\n            this.dynamicTaskType.allowSearchFilter = true;\r\n            this.dynamicTaskType.isRequired = true;\r\n            this.dynamicTaskType.selectedItems = this.activityModel.taskCorrlTypeID?.toString();\r\n\r\n            this.dynamicCanComplete = new ToggleSlideOptions();\r\n            this.dynamicCanComplete.name = \"dynamicCanComplete\";\r\n            this.dynamicCanComplete.labelKey = \"CanCompleteFromTME\";\r\n            this.dynamicCanComplete.viewType = ControlLayout.Horizontal;\r\n            this.dynamicCanComplete.value = this.activityModel.canCompleteFromTME;\r\n\r\n            this.showDynamicControls = true;\r\n            this.showParticipantContainer = true;\r\n            this.showOutcomesContainer = true;\r\n            break;\r\n          case ActivityType.Start:\r\n          case ActivityType.Email:\r\n          case ActivityType.Sleep:\r\n            if (this.activityTypeID == ActivityType.Email) {\r\n              this.participantTypeList = list.participants.participantTypes;\r\n              this.participantDataList = list.participants.participantData;\r\n\r\n              this.participantTypes = new DropdownOptions();\r\n              this.participantTypes.name = \"participantTypes\";\r\n              this.participantTypes.labelKey = \"ParticipantTypes\";\r\n              this.participantTypes.dataSource = this.participantTypeList;\r\n              this.participantTypes.singleSelection = false;\r\n              this.participantTypes.allowSearchFilter = true;\r\n              this.participantTypes.isRequired = true;\r\n              this.participantTypes.selectedItems = this.activityModel.participantTypeItemIDsStringList;\r\n\r\n              if (this.activityModel.participantTypeItemIDsStringList.includes(ParticipantType.PermissionSet)) {\r\n\r\n                this.participantPermissionSet = new DropdownOptions();\r\n                this.participantPermissionSet.name = \"participantPermissionSet\";\r\n                this.participantPermissionSet.labelKey = \"PermissionSet\";\r\n                this.participantPermissionSet.dataSource = this.participantDataList;\r\n                this.participantPermissionSet.singleSelection = false;\r\n                this.participantPermissionSet.allowSearchFilter = true;\r\n                this.participantPermissionSet.selectedItems = this.activityModel.participantPermsetsIDsString;\r\n                this.showParticipantPermssionSet = true;\r\n              }\r\n              this.showParticipantContainer = true;\r\n            }\r\n            let name = new EnglishArabicDTO();\r\n            name.arabic = this.activityModel.normalOutcomeName.arabic;\r\n            name.english = this.activityModel.normalOutcomeName.english;\r\n\r\n            this.staticOutcomeName = new MultiLingualTextBoxOptions();\r\n            this.staticOutcomeName.name = \"staticOutcomeName\";\r\n            this.staticOutcomeName.arabicLabelKey = \"OutcomeNameInArabic\";\r\n            this.staticOutcomeName.englishLabelKey = \"OutcomeNameInEnglish\";\r\n            this.staticOutcomeName.isRequired = true;\r\n            this.staticOutcomeName.value = name;\r\n            this.staticOutcomeName.maxLength = 255;\r\n\r\n            this.staticOutcomeSysName = new TextBoxOptions();\r\n            this.staticOutcomeSysName.name = \"staticOutcomeSysName\";\r\n            this.staticOutcomeSysName.labelKey = \"DecisionSysName\";\r\n            this.staticOutcomeSysName.type = InputType.Text;\r\n            this.staticOutcomeSysName.isRequired = true;\r\n            this.staticOutcomeSysName.value = this.activityModel.outcomeSysName;\r\n            this.staticOutcomeSysName.maxLength = 100;\r\n\r\n            this.staticOutcomeNextActivity = new DropdownOptions();\r\n            this.staticOutcomeNextActivity.name = \"staticOutcomeNextActivity\";\r\n            this.staticOutcomeNextActivity.labelKey = \"NextActivity\";\r\n            this.staticOutcomeNextActivity.dataSource = this.nextActivityList;\r\n            this.staticOutcomeNextActivity.singleSelection = true;\r\n            this.staticOutcomeNextActivity.allowSearchFilter = true;\r\n            this.staticOutcomeNextActivity.isRequired = true;\r\n            this.staticOutcomeNextActivity.selectedItems = this.activityModel.nextActivityID_GUID?.toLowerCase();\r\n\r\n            this.staticOutcomeCanAddComment = new ToggleSlideOptions();\r\n            this.staticOutcomeCanAddComment.name = \"staticOutcomeCanAddComment\";\r\n            this.staticOutcomeCanAddComment.labelKey = \"CanAddComment\";\r\n            this.staticOutcomeCanAddComment.viewType = ControlLayout.Horizontal;\r\n            this.staticOutcomeCanAddComment.value = this.activityModel.canAddComment;\r\n\r\n            this.showStaticControls = true;\r\n            break;\r\n          case ActivityType.Condition:\r\n            this.conditionLHSWFVariableList = list.wfVariables;\r\n            this.conditionRHSWFVariableList = list.wfVariables;\r\n            this.conditionRHSTypeList = list.rhsTypes;\r\n            this.conditionList = list.conditions;\r\n\r\n            this.conditionLHSDropDown = new DropdownOptions();\r\n            this.conditionLHSDropDown.name = \"conditionLHSDropDown\";\r\n            this.conditionLHSDropDown.hideLabel = true;\r\n            this.conditionLHSDropDown.placeholder = \"WorkflowVariables\";\r\n            this.conditionLHSDropDown.dataSource = this.conditionLHSWFVariableList;\r\n            this.conditionLHSDropDown.singleSelection = true;\r\n            this.conditionLHSDropDown.allowSearchFilter = true;\r\n            this.conditionLHSDropDown.isRequired = true;\r\n            this.conditionLHSDropDown.selectedItems = this.activityModel.lhsVariableID_GUID?.toLowerCase();\r\n\r\n            this.conditionsDropDown = new DropdownOptions();\r\n            this.conditionsDropDown.name = \"conditionsDropDown\";\r\n            this.conditionsDropDown.hideLabel = true;\r\n            this.conditionsDropDown.placeholder = \"Condition\";\r\n            this.conditionsDropDown.dataSource = this.conditionList;\r\n            this.conditionsDropDown.singleSelection = true;\r\n            this.conditionsDropDown.isRequired = true;\r\n            this.conditionsDropDown.selectedItems = this.activityModel.operatorTypeItemID_GUID?.toLowerCase();\r\n\r\n            this.conditionRHSTypeDropDown = new DropdownOptions();\r\n            this.conditionRHSTypeDropDown.name = \"conditionRHSTypeDropDown\";\r\n            this.conditionRHSTypeDropDown.hideLabel = true;\r\n            this.conditionRHSTypeDropDown.dataSource = this.conditionRHSTypeList;\r\n            this.conditionRHSTypeDropDown.singleSelection = true;\r\n            this.conditionRHSTypeDropDown.isRequired = true;\r\n            this.conditionRHSTypeDropDown.selectedItems = this.activityModel.rhsTypeItemID_GUID?.toLowerCase();\r\n\r\n            if (this.activityModel.rhsTypeItemID_GUID?.toLowerCase() == Righthandsidetype.Variable) {\r\n              this.conditionRHSDropDown = new DropdownOptions();\r\n              this.conditionRHSDropDown.name = \"conditionRHSDropDown\";\r\n              this.conditionRHSDropDown.hideLabel = true;\r\n              this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n              this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n              this.conditionRHSDropDown.singleSelection = true;\r\n              this.conditionRHSDropDown.isRequired = true;\r\n              this.conditionRHSDropDown.selectedItems = this.activityModel.rhsVariableID_GUID?.toLowerCase();\r\n\r\n              this.showConditionRHSWFVariable = true;\r\n            }\r\n            else {\r\n              this.conditionRHSValue = new TextBoxOptions();\r\n              this.conditionRHSValue.name = \"conditionRHSValue\";\r\n              this.conditionRHSValue.hideLabel = true;\r\n              this.conditionRHSValue.placeholder = \"Value\";\r\n              this.conditionRHSValue.type = InputType.Text;\r\n              this.conditionRHSValue.isRequired = true;\r\n              this.conditionRHSValue.value = this.activityModel.rhsValue;\r\n              this.conditionRHSValue.maxLength = 512;\r\n\r\n              this.showConditionRHSWFVariable = false;\r\n            }\r\n            this.showConditionControls = true;\r\n            this.showOutcomesContainer = true;\r\n            break;\r\n        }\r\n      }\r\n\r\n      this.isEditFormLoaded = true;\r\n    });\r\n  }\r\n\r\n  //Edit functions\r\n  getEditWFActivityModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editworkflowActivityForm.value as any;\r\n    let editModel = new WFActivityModel();\r\n    editModel.ID_GUID = this.activityID;\r\n    editModel.Name.english = ResultModel.name.English;\r\n    editModel.Name.arabic = ResultModel.name.Arabic;\r\n    editModel.VersionID_GUID = this.versionID;\r\n    editModel.ActivityTypeItemID_GUID = this.activityTypeID;\r\n    editModel.SysName = ResultModel.sysName;\r\n\r\n    //If participant exists\r\n    if (ResultModel.participantTypes != undefined) {\r\n      editModel.ParticipantDTO = new ParticipantModel();\r\n      editModel.ParticipantDTO = new ParticipantModel();\r\n      editModel.ParticipantDTO.ParticipantTypeItemIDsString = ResultModel.participantTypes.toString();\r\n      if (ResultModel.participantTypes.includes(ParticipantType.PermissionSet)) {\r\n        editModel.ParticipantDTO.PermissionSetIDsString = ResultModel.participantPermissionSet.toString();\r\n      }\r\n    }\r\n    switch (this.activityTypeID) {\r\n      case ActivityType.Approval:\r\n      case ActivityType.Action:\r\n      case ActivityType.PercentageTask:\r\n        editModel.TaskName.english = ResultModel.dynamicTaskName.English;\r\n        editModel.TaskName.arabic = ResultModel.dynamicTaskName.Arabic;\r\n        editModel.TaskDescription.english = ResultModel.dynamicTaskDescription.English;\r\n        editModel.TaskDescription.arabic = ResultModel.dynamicTaskDescription.Arabic;\r\n        editModel.TaskURL = ResultModel.dynamicTaskURL;\r\n        editModel.TaskCorrlTypeID = ResultModel.dynamicTaskType != null ? Number(ResultModel.dynamicTaskType) : null;\r\n        editModel.CanCompleteFromTME = ResultModel.dynamicCanComplete;\r\n        break;\r\n      case ActivityType.Start:\r\n      case ActivityType.Email:\r\n      case ActivityType.Sleep:\r\n        if (!this.isPublished) {\r\n          editModel.NormalOutcomeName.english = ResultModel.staticOutcomeName.English;\r\n          editModel.NormalOutcomeName.arabic = ResultModel.staticOutcomeName.Arabic;\r\n          editModel.OutcomeSysName = ResultModel.staticOutcomeSysName;\r\n          editModel.NextActivityID_GUID = ResultModel.staticOutcomeNextActivity;\r\n          editModel.CanAddComment = ResultModel.staticOutcomeCanAddComment;\r\n        }\r\n        break;\r\n      case ActivityType.Condition:\r\n        editModel.LHSVariableID_GUID = ResultModel.conditionLHSDropDown;\r\n        editModel.RHSVariableID_GUID = ResultModel.conditionRHSDropDown;\r\n        editModel.RHSTypeItemID_GUID = ResultModel.conditionRHSTypeDropDown;\r\n        editModel.OperatorTypeItemID_GUID = ResultModel.conditionsDropDown;\r\n        editModel.RHSValue = ResultModel.conditionRHSValue != undefined ? ResultModel.conditionRHSValue : null;\r\n        break;\r\n    }\r\n    //Set Outcomes (dynamic,condition types)\r\n    for (let j = 0; j < this.outcomesCount; j++) {\r\n      let outcomeID = ResultModel[\"outcomeID\" + j];\r\n      if (outcomeID == undefined)\r\n        continue;\r\n\r\n      let outcomeName = ResultModel[\"outcomeName\" + j];\r\n\r\n      let outcomeSysName: string;\r\n      let outComeCanEditSysName = ResultModel[\"outcomeCanEditSysName\" + j];\r\n      if (outComeCanEditSysName)\r\n        outcomeSysName = ResultModel[\"outcomeDecisionSysName\" + j];\r\n      else\r\n        outcomeSysName = ResultModel[\"outcomeHiddeneSysName\" + j];\r\n\r\n      let outcomeActivity = ResultModel[\"outcomeNextActivityTypes\" + j];\r\n      let outcomeCanAddComment = ResultModel[\"outcomeCanAddComment\" + j];\r\n      let activityOutcome: WFActivityOutcomeModel = new WFActivityOutcomeModel();\r\n      activityOutcome.ID_GUID = outcomeID;\r\n      activityOutcome.NameEN = outcomeName.English;\r\n      activityOutcome.NameAR = outcomeName.Arabic;\r\n      activityOutcome.OutcomeSysName = outcomeSysName;\r\n      activityOutcome.NextActivityID_GUID = outcomeActivity;\r\n      activityOutcome.CanAddComment = outcomeCanAddComment;\r\n      editModel.Outcomes.push(activityOutcome);\r\n    }\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n  getEditWFActivityFunction = (editModel): Observable<any> => {\r\n    if (this.isPublished)\r\n      return this.workflowActivityService.editPublishedActivity(editModel);\r\n    else\r\n      return this.workflowActivityService.editActivity(editModel);\r\n  };\r\n  onEditSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n\r\n  //Outcome functions\r\n  getActivityOutcomesOptions(outComes: any[], isPublished: boolean) {\r\n    let outcomesOptions: any[] = [];\r\n    let outcomesCount: number = 0;\r\n\r\n    for (let i = 0; i < outComes.length; i++) {\r\n      let currentOutcome = outComes[i];\r\n      let objectOutcomeOptions: any[] = [];\r\n\r\n      let outcomeID = new TextBoxOptions();\r\n      outcomeID.name = \"outcomeID\" + i;\r\n      outcomeID.hideLabel = true;\r\n      outcomeID.type = InputType.Text;\r\n      outcomeID.value = currentOutcome.iD_GUID;\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.english = currentOutcome.nameEN;\r\n      name.arabic = currentOutcome.nameAR;\r\n\r\n      let outcomeName = new MultiLingualTextBoxOptions();\r\n      outcomeName.name = \"outcomeName\" + i;\r\n      outcomeName.arabicLabelKey = \"NameInArabic\";\r\n      outcomeName.englishLabelKey = \"NameInEnglish\";\r\n      outcomeName.value = name;\r\n      outcomeName.isRequired = true;\r\n      outcomeName.maxLength = 255;\r\n\r\n      let outcomeNextActivityTypes = new DropdownOptions();\r\n      outcomeNextActivityTypes.name = \"outcomeNextActivityTypes\" + i;\r\n      outcomeNextActivityTypes.labelKey = \"Activity\";\r\n      outcomeNextActivityTypes.dataSource = this.nextActivityList;\r\n      outcomeNextActivityTypes.singleSelection = true;\r\n      outcomeNextActivityTypes.allowSearchFilter = true;\r\n      outcomeNextActivityTypes.selectedItems = currentOutcome.nextActivityID_GUID?.toLowerCase();\r\n\r\n      let outcomeCanEdit: boolean;\r\n      outcomeCanEdit = currentOutcome.canEdit;\r\n      let outcomeHiddeneSysName = new TextBoxOptions();\r\n      outcomeHiddeneSysName.name = \"outcomeHiddeneSysName\" + i;\r\n      outcomeHiddeneSysName.type = InputType.Text;\r\n      outcomeHiddeneSysName.value = currentOutcome.outcomeSysName;\r\n      let outcomeCanEditSysName = new CheckBoxOptions();\r\n      outcomeCanEditSysName.name = \"outcomeCanEditSysName\" + i;\r\n      outcomeCanEditSysName.value = currentOutcome.canEditSysName;\r\n\r\n      if (!isPublished) {\r\n        let outcomeDecisionSysName = new TextBoxOptions();\r\n        outcomeDecisionSysName.name = \"outcomeDecisionSysName\" + i;\r\n        outcomeDecisionSysName.labelKey = \"DecisionSysName\";\r\n        outcomeDecisionSysName.type = InputType.Text;\r\n        outcomeDecisionSysName.value = currentOutcome.outcomeSysName;\r\n        outcomeDecisionSysName.isDisabled = !currentOutcome.canEditSysName;\r\n        outcomeDecisionSysName.isRequired = true;\r\n        outcomeDecisionSysName.maxLength = 100;\r\n\r\n        let outcomeCanAddComment = new CheckBoxOptions();\r\n        outcomeCanAddComment.name = \"outcomeCanAddComment\" + i;\r\n        outcomeCanAddComment.value = currentOutcome.canAddComment;\r\n        outcomeCanAddComment.labelKey = \"CanAddComment\";\r\n\r\n        objectOutcomeOptions.push(outcomeID, outcomeName, outcomeDecisionSysName, outcomeNextActivityTypes, outcomeCanAddComment, outcomeCanEdit, outcomeHiddeneSysName, outcomeCanEditSysName);\r\n      }\r\n      else\r\n        objectOutcomeOptions.push(outcomeID, outcomeName, outcomeNextActivityTypes, outcomeCanEdit, outcomeHiddeneSysName, outcomeCanEditSysName);\r\n\r\n      outcomesOptions.push(objectOutcomeOptions);\r\n      outcomesCount += 1;\r\n\r\n    }\r\n    return [outcomesOptions, outcomesCount];\r\n  }\r\n  addWFActivityOutcome() {\r\n    let index = this.outcomesCount;\r\n\r\n    let objectOutcomeOptions: any[] = [];\r\n\r\n    let outcomeID = new TextBoxOptions();\r\n    outcomeID.name = \"outcomeID\" + index;\r\n    outcomeID.hideLabel = true;\r\n    outcomeID.type = InputType.Text;\r\n\r\n    let outcomeName = new MultiLingualTextBoxOptions();\r\n    outcomeName.name = \"outcomeName\" + index;\r\n    outcomeName.arabicLabelKey = \"NameInArabic\";\r\n    outcomeName.englishLabelKey = \"NameInEnglish\";\r\n    outcomeName.isRequired = true;\r\n\r\n    let outcomeDecisionSysName = new TextBoxOptions();\r\n    outcomeDecisionSysName.name = \"outcomeDecisionSysName\" + index;\r\n    outcomeDecisionSysName.labelKey = \"DecisionSysName\";\r\n    outcomeDecisionSysName.type = InputType.Text;\r\n    outcomeDecisionSysName.isRequired = true;\r\n\r\n    let outcomeNextActivityTypes = new DropdownOptions();\r\n    outcomeNextActivityTypes.name = \"outcomeNextActivityTypes\" + index;\r\n    outcomeNextActivityTypes.labelKey = \"Activity\";\r\n    outcomeNextActivityTypes.dataSource = this.nextActivityList;\r\n    outcomeNextActivityTypes.singleSelection = true;\r\n    outcomeNextActivityTypes.allowSearchFilter = true;\r\n\r\n    let outcomeCanAddComment = new CheckBoxOptions();\r\n    outcomeCanAddComment.name = \"outcomeCanAddComment\" + index;\r\n    outcomeCanAddComment.labelKey = \"CanAddComment\";\r\n\r\n    let outcomeCanEdit: boolean;\r\n    outcomeCanEdit = true;\r\n\r\n    let outcomeHiddeneSysName = new TextBoxOptions();\r\n    outcomeHiddeneSysName.name = \"outcomeHiddeneSysName\" + index;\r\n    outcomeHiddeneSysName.type = InputType.Text;\r\n\r\n    let outcomeCanEditSysName = new CheckBoxOptions();\r\n    outcomeCanEditSysName.name = \"outcomeCanEditSysName\" + index;\r\n    outcomeCanEditSysName.value = true;\r\n\r\n    objectOutcomeOptions.push(outcomeID, outcomeName, outcomeDecisionSysName, outcomeNextActivityTypes, outcomeCanAddComment,\r\n      outcomeCanEdit, outcomeHiddeneSysName, outcomeCanEditSysName);\r\n\r\n    this.outcomesOptions.push(objectOutcomeOptions);\r\n    this.outcomesCount += 1;\r\n\r\n  }\r\n  deleteOutcome(deletedOutcome: any) {\r\n    let deletedOutcomeIndex: number = this.outcomesOptions.indexOf(deletedOutcome);\r\n    if (deletedOutcomeIndex !== -1) {\r\n      this.outcomesOptions.splice(deletedOutcomeIndex, 1);\r\n      for (var i = 0; i < deletedOutcome.length; i++) {\r\n        this.editworkflowActivityForm.removeControl(deletedOutcome[i].Name);\r\n      }\r\n    }\r\n  }\r\n\r\n  //On changes events\r\n  activityTypeOnChange(activityType) {\r\n    activityType = activityType?.toLowerCase();\r\n    //Reset controls, outcomes and flags\r\n    this.resetAllActivityTypeControls();\r\n    this.outcomesOptions = [];\r\n    this.outcomesCount = 0;\r\n    this.showParticipantContainer = false;\r\n    this.showDynamicControls = false;\r\n    this.showStaticControls = false;\r\n    this.showConditionControls = false;\r\n    this.showConditionRHSWFVariable = false;\r\n    this.showOutcomesContainer = false;\r\n\r\n    this.activityTypeID = activityType;\r\n    this.workflowActivityService.getActivityOutcomes(this.versionID, activityType).subscribe((result) => {\r\n      var resultObj = result as any;\r\n      var model = resultObj.model;\r\n      var list = resultObj.list;\r\n      this.nextActivityList = list.activities;\r\n\r\n      switch (activityType) {\r\n        case ActivityType.Approval:\r\n        case ActivityType.Action:\r\n        case ActivityType.PercentageTask:\r\n          this.taskTypeList = list.tasks;\r\n          this.participantTypeList = list.participants.participantTypes;\r\n          this.participantDataList = list.participants.participantData;\r\n\r\n          //Initialize required controls for approval\r\n          this.participantTypes = new DropdownOptions();\r\n          this.participantTypes.name = \"participantTypes\";\r\n          this.participantTypes.labelKey = \"ParticipantTypes\";\r\n          this.participantTypes.dataSource = this.participantTypeList;\r\n          this.participantTypes.singleSelection = false;\r\n          this.participantTypes.allowSearchFilter = true;\r\n          this.participantTypes.isRequired = true;\r\n\r\n          this.dynamicTaskName = new MultiLingualTextBoxOptions();\r\n          this.dynamicTaskName.name = \"dynamicTaskName\";\r\n          this.dynamicTaskName.arabicLabelKey = \"TaskNameInArabic\";\r\n          this.dynamicTaskName.englishLabelKey = \"TaskNameInEnglish\";\r\n          this.dynamicTaskName.maxLength = 255;\r\n\r\n          this.dynamicTaskDescription = new MultiLingualTextAreaOptions();\r\n          this.dynamicTaskDescription.name = \"dynamicTaskDescription\";\r\n          this.dynamicTaskDescription.arabicLabelKey = \"TaskDescriptionInArabic\";\r\n          this.dynamicTaskDescription.englishLabelKey = \"TaskDescriptionInEnglish\";\r\n          this.dynamicTaskDescription.maxLength = 255;\r\n\r\n          this.dynamicTaskURL = new TextBoxOptions();\r\n          this.dynamicTaskURL.name = \"dynamicTaskURL\";\r\n          this.dynamicTaskURL.labelKey = \"TaskURL\";\r\n          this.dynamicTaskURL.type = InputType.Text;\r\n          this.dynamicTaskURL.maxLength = 2083;\r\n\r\n          this.dynamicTaskType = new DropdownOptions();\r\n          this.dynamicTaskType.name = \"dynamicTaskType\";\r\n          this.dynamicTaskType.labelKey = \"TaskType\";\r\n          this.dynamicTaskType.dataSource = this.taskTypeList;\r\n          this.dynamicTaskType.singleSelection = true;\r\n          this.dynamicTaskType.allowSearchFilter = true;\r\n          this.dynamicTaskType.isRequired = true;\r\n\r\n          this.dynamicCanComplete = new ToggleSlideOptions();\r\n          this.dynamicCanComplete.name = \"dynamicCanComplete\";\r\n          this.dynamicCanComplete.labelKey = \"CanCompleteFromTME\";\r\n          this.dynamicCanComplete.viewType = ControlLayout.Horizontal;\r\n          this.dynamicCanComplete.value = model.canCompleteFromTME;\r\n\r\n          let outcomesResult: any = this.getActivityOutcomesOptions(model.outcomes, false);\r\n          this.outcomesOptions = outcomesResult[0];\r\n          this.outcomesCount = outcomesResult[1];\r\n\r\n          this.showDynamicControls = true;\r\n          this.showParticipantContainer = true;\r\n          this.showOutcomesContainer = true;\r\n          break;\r\n        case ActivityType.Email:\r\n        case ActivityType.Sleep:\r\n          let name = new EnglishArabicDTO();\r\n          name.arabic = model.normalOutcomeName.arabic;\r\n          name.english = model.normalOutcomeName.english;\r\n\r\n          this.staticOutcomeName = new MultiLingualTextBoxOptions();\r\n          this.staticOutcomeName.name = \"staticOutcomeName\";\r\n          this.staticOutcomeName.arabicLabelKey = \"OutcomeNameInArabic\";\r\n          this.staticOutcomeName.englishLabelKey = \"OutcomeNameInEnglish\";\r\n          this.staticOutcomeName.isRequired = true;\r\n          this.staticOutcomeName.value = name;\r\n          this.staticOutcomeName.maxLength = 255;\r\n\r\n          this.staticOutcomeSysName = new TextBoxOptions();\r\n          this.staticOutcomeSysName.name = \"staticOutcomeSysName\";\r\n          this.staticOutcomeSysName.labelKey = \"DecisionSysName\";\r\n          this.staticOutcomeSysName.type = InputType.Text;\r\n          this.staticOutcomeSysName.isRequired = true;\r\n          this.staticOutcomeSysName.maxLength = 100;\r\n\r\n          this.staticOutcomeNextActivity = new DropdownOptions();\r\n          this.staticOutcomeNextActivity.name = \"staticOutcomeNextActivity\";\r\n          this.staticOutcomeNextActivity.labelKey = \"NextActivity\";\r\n          this.staticOutcomeNextActivity.dataSource = this.nextActivityList;\r\n          this.staticOutcomeNextActivity.singleSelection = true;\r\n          this.staticOutcomeNextActivity.allowSearchFilter = true;\r\n          this.staticOutcomeNextActivity.isRequired = true;\r\n\r\n          this.staticOutcomeCanAddComment = new ToggleSlideOptions();\r\n          this.staticOutcomeCanAddComment.name = \"staticOutcomeCanAddComment\";\r\n          this.staticOutcomeCanAddComment.labelKey = \"CanAddComment\";\r\n          this.staticOutcomeCanAddComment.viewType = ControlLayout.Horizontal;\r\n          this.staticOutcomeCanAddComment.value = model.canAddComment;\r\n\r\n          this.showStaticControls = true;\r\n          break;\r\n        case ActivityType.Condition:\r\n          this.conditionLHSWFVariableList = list.wfVariables;\r\n          this.conditionRHSWFVariableList = list.wfVariables;\r\n          this.conditionRHSTypeList = list.rhsTypes;\r\n          this.conditionList = list.conditions;\r\n\r\n          this.conditionLHSDropDown = new DropdownOptions();\r\n          this.conditionLHSDropDown.name = \"conditionLHSDropDown\";\r\n          this.conditionLHSDropDown.hideLabel = true;\r\n          this.conditionLHSDropDown.placeholder = \"WorkflowVariables\";\r\n          this.conditionLHSDropDown.dataSource = this.conditionLHSWFVariableList;\r\n          this.conditionLHSDropDown.singleSelection = true;\r\n          this.conditionLHSDropDown.allowSearchFilter = true;\r\n          this.conditionLHSDropDown.isRequired = true;\r\n\r\n          this.conditionsDropDown = new DropdownOptions();\r\n          this.conditionsDropDown.name = \"conditionsDropDown\";\r\n          this.conditionsDropDown.hideLabel = true;\r\n          this.conditionsDropDown.placeholder = \"Condition\";\r\n          this.conditionsDropDown.dataSource = this.conditionList;\r\n          this.conditionsDropDown.singleSelection = true;\r\n          this.conditionsDropDown.isRequired = true;\r\n\r\n          let selectedRHSType = this.conditionRHSTypeList.filter((item) => { return item.key?.toLowerCase() == Righthandsidetype.Variable; }).map((item) => item.key)[0];\r\n          this.conditionRHSTypeDropDown = new DropdownOptions();\r\n          this.conditionRHSTypeDropDown.name = \"conditionRHSTypeDropDown\";\r\n          this.conditionRHSTypeDropDown.hideLabel = true;\r\n          this.conditionRHSTypeDropDown.dataSource = this.conditionRHSTypeList;\r\n          this.conditionRHSTypeDropDown.singleSelection = true;\r\n          this.conditionRHSTypeDropDown.isRequired = true;\r\n          this.conditionRHSTypeDropDown.selectedItems = selectedRHSType;\r\n\r\n          this.conditionRHSDropDown = new DropdownOptions();\r\n          this.conditionRHSDropDown.name = \"conditionRHSDropDown\";\r\n          this.conditionRHSDropDown.hideLabel = true;\r\n          this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n          this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n          this.conditionRHSDropDown.singleSelection = true;\r\n          this.conditionRHSDropDown.isRequired = true;\r\n\r\n          let conditionOutcomesResult: any = this.getActivityOutcomesOptions(model.outcomes, false);\r\n          this.outcomesOptions = conditionOutcomesResult[0];\r\n          this.outcomesCount = conditionOutcomesResult[1];\r\n\r\n          this.showConditionControls = true;\r\n          this.showConditionRHSWFVariable = true;\r\n          this.showOutcomesContainer = true;\r\n          break;\r\n      }\r\n      this.canAddOutcome = this.showOutcomesContainer ? model.canAddOutcome : false;\r\n\r\n    });\r\n\r\n  }\r\n  conditionRHSTypeOnChange(type) {\r\n    type = type?.toLowerCase();\r\n    if (type == Righthandsidetype.Variable) {\r\n      this.editworkflowActivityForm.removeControl(\"conditionRHSValue\");\r\n\r\n      this.conditionRHSDropDown = new DropdownOptions();\r\n      this.conditionRHSDropDown.name = \"conditionRHSDropDown\";\r\n      this.conditionRHSDropDown.hideLabel = true;\r\n      this.conditionRHSDropDown.placeholder = \"WorkflowVariables\";\r\n      this.conditionRHSDropDown.dataSource = this.conditionRHSWFVariableList;\r\n      this.conditionRHSDropDown.singleSelection = true;\r\n      this.conditionRHSDropDown.isRequired = true;\r\n\r\n      this.showConditionRHSWFVariable = true;\r\n    }\r\n    else {\r\n      this.editworkflowActivityForm.removeControl(\"conditionRHSDropDown\");\r\n\r\n      this.conditionRHSValue = new TextBoxOptions();\r\n      this.conditionRHSValue.name = \"conditionRHSValue\";\r\n      this.conditionRHSValue.hideLabel = true;\r\n      this.conditionRHSValue.placeholder = \"Value\";\r\n      this.conditionRHSValue.type = InputType.Text;\r\n      this.conditionRHSValue.isRequired = true;\r\n      this.conditionRHSValue.maxLength = 512;\r\n\r\n      this.showConditionRHSWFVariable = false;\r\n\r\n    }\r\n  }\r\n  participantTypeOnChange(participantType) {\r\n    participantType = participantType?.toLowerCase();\r\n    if (participantType == ParticipantType.PermissionSet) {\r\n      this.participantPermissionSet = new DropdownOptions();\r\n      this.participantPermissionSet.name = \"participantPermissionSet\";\r\n      this.participantPermissionSet.labelKey = \"PermissionSet\";\r\n      this.participantPermissionSet.dataSource = this.participantDataList;\r\n      this.participantPermissionSet.singleSelection = false;\r\n      this.participantPermissionSet.allowSearchFilter = true;\r\n\r\n      this.showParticipantPermssionSet = true;\r\n    }\r\n    else {\r\n      this.editworkflowActivityForm.removeControl(\"participantPermissionSet\");\r\n      this.showParticipantPermssionSet = false;\r\n    }\r\n\r\n\r\n  }\r\n\r\n  //Reset type\r\n  resetAllActivityTypeControls() {\r\n    this.editworkflowActivityForm.removeControl(\"participantTypes\");\r\n    this.editworkflowActivityForm.removeControl(\"participantPermissionSet\");\r\n    this.editworkflowActivityForm.removeControl(\"participantPermissionSet\");\r\n    this.editworkflowActivityForm.removeControl(\"dynamicTaskName\");\r\n    this.editworkflowActivityForm.removeControl(\"dynamicTaskDescription\");\r\n    this.editworkflowActivityForm.removeControl(\"dynamicTaskURL\");\r\n    this.editworkflowActivityForm.removeControl(\"dynamicTaskType\");\r\n    this.editworkflowActivityForm.removeControl(\"dynamicCanComplete\");\r\n\r\n    this.editworkflowActivityForm.removeControl(\"staticOutcomeName\");\r\n    this.editworkflowActivityForm.removeControl(\"staticOutcomeSysName\");\r\n    this.editworkflowActivityForm.removeControl(\"staticOutcomeNextActivity\");\r\n    this.editworkflowActivityForm.removeControl(\"staticOutcomeCanAddComment\");\r\n\r\n    this.editworkflowActivityForm.removeControl(\"conditionLHSDropDown\");\r\n    this.editworkflowActivityForm.removeControl(\"conditionsDropDown\");\r\n    this.editworkflowActivityForm.removeControl(\"conditionRHSTypeDropDown\");\r\n    this.editworkflowActivityForm.removeControl(\"conditionRHSDropDown\");\r\n    this.editworkflowActivityForm.removeControl(\"conditionRHSValue\");\r\n\r\n    //Remove outcomes controls\r\n    let ResultModel = this.editworkflowActivityForm.value;\r\n    for (let i = 0; i < this.outcomesCount; i++) {\r\n      let outcomeID = ResultModel[\"outcomeID\" + i];\r\n      if (outcomeID == undefined)\r\n        continue;\r\n\r\n      this.editworkflowActivityForm.removeControl(\"outcomeID\" + i);\r\n      this.editworkflowActivityForm.removeControl(\"outcomeName\" + i);\r\n      this.editworkflowActivityForm.removeControl(\"outcomeDecisionSysName\" + i);\r\n      this.editworkflowActivityForm.removeControl(\"outcomeHiddeneSysName\" + i);\r\n      this.editworkflowActivityForm.removeControl(\"outcomeNextActivityTypes\" + i);\r\n      this.editworkflowActivityForm.removeControl(\"outcomeCanAddComment\" + i);\r\n\r\n    }\r\n  }\r\n\r\n  //Cancel\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Workflows/workflow/']);\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"isEditFormLoaded\">\r\n    <div class=\"card-body py-3\">\r\n      <BBSF-Form [options]=\"editworkflowActivityFormOptions\">\r\n        <!--Start shared controls container-->\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"name\" [group]=\"editworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n\r\n        </div>\r\n\r\n        <div class=\"row\" *ngIf=\"!isPublished\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"sysName\" [group]=\"editworkflowActivityForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\" *ngIf=\"showActivityType\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-DropdownList [options]=\"activityType\" [group]=\"editworkflowActivityForm\" (OnChange)=\"activityTypeOnChange($event)\">\r\n            </BBSF-DropdownList>\r\n          </div>\r\n        </div>\r\n        <!--End shared controls container-->\r\n        <!--Start participant container-->\r\n        <div id=\"participantContainer\" *ngIf=\"showParticipantContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"participantTypes\" [group]=\"editworkflowActivityForm\" (OnChange)=\"participantTypeOnChange($event)\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div *ngIf=\"showParticipantPermssionSet\" class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"participantPermissionSet\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End participant container-->\r\n        <!--Start static controls-->\r\n        <div *ngIf=\"showStaticControls\" id=\"staticContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextBox [options]=\"staticOutcomeName\" [group]=\"editworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-TextBox [options]=\"staticOutcomeSysName\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"staticOutcomeNextActivity\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-Toggleslide [options]=\"staticOutcomeCanAddComment\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End static controls-->\r\n        <!--Start dynamic controls-->\r\n        <div *ngIf=\"showDynamicControls\" id=\"dynamicContainer\">\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextBox [options]=\"dynamicTaskName\" [group]=\"editworkflowActivityForm\"></BBSF-MultiLingualTextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-MultiLingualTextArea [options]=\"dynamicTaskDescription\" [group]=\"editworkflowActivityForm\"></BBSF-MultiLingualTextArea>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-TextBox [options]=\"dynamicTaskURL\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-DropdownList [options]=\"dynamicTaskType\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-12\">\r\n              <BBSF-Toggleslide [options]=\"dynamicCanComplete\" [group]=\"editworkflowActivityForm\">\r\n              </BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!--End dynamic controls-->\r\n        <!--Start condition controls-->\r\n        <div *ngIf=\"showConditionControls\" id=\"conditionContainer\">\r\n          <div class=\"table-responsive\">\r\n            <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n              <thead>\r\n                <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"LeftHandSide\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Condition\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"RightHandSideType\")}}</th>\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"RightHandSide\")}}</th>\r\n                </tr>\r\n              </thead>\r\n              <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                <tr>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionLHSDropDown\" [group]=\"editworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionsDropDown\" [group]=\"editworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td>\r\n                    <BBSF-DropdownList [options]=\"conditionRHSTypeDropDown\" [group]=\"editworkflowActivityForm\" (OnChange)=\"conditionRHSTypeOnChange($event)\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <td *ngIf=\"showConditionRHSWFVariable; else conditionTxtValue\">\r\n                    <BBSF-DropdownList [options]=\"conditionRHSDropDown\" [group]=\"editworkflowActivityForm\">\r\n                    </BBSF-DropdownList>\r\n                  </td>\r\n                  <ng-template #conditionTxtValue>\r\n                    <td>\r\n                      <BBSF-TextBox [options]=\"conditionRHSValue\" [group]=\"editworkflowActivityForm\">\r\n                      </BBSF-TextBox>\r\n                    </td>\r\n                  </ng-template>\r\n                </tr>\r\n              </tbody>\r\n            </table>\r\n          </div>\r\n        </div>\r\n        <!--End condition controls-->\r\n        <!--Start outcomes container-->\r\n        <div *ngIf=\"showOutcomesContainer\" id=\"outcomesContainer\" class=\"row\">\r\n          <div class=\"table-responsive\">\r\n            <!-- begin::Table -->\r\n            <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n              <thead>\r\n                <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                  <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Decision\")}}</th>\r\n                  <th class=\"min-w-150px\"></th>\r\n                  <th *ngIf=\"!isPublished\" class=\"min-w-150px\"></th>\r\n                  <th *ngIf=\"!isPublished\" class=\"min-w-150px\"></th>\r\n                  <th *ngIf=\"!isPublished\" class=\"min-w-150px\"></th>\r\n                </tr>\r\n              </thead>\r\n              <tbody class=\"fw-bold text-gray-600 border-0\" *ngIf=\"isPublished;else notPublishedOutcomes\">\r\n                  <tr  *ngFor=\"let option of outcomesOptions;let i=index;\">\r\n                    <td>\r\n                      <!--ID-->\r\n                      <BBSF-TextBox [hidden]=\"true\" [options]=\"option[0]\" [group]=\"editworkflowActivityForm\">\r\n                      </BBSF-TextBox>\r\n                      <!--Name-->\r\n                      <BBSF-MultiLingualTextBox [options]=\"option[1]\" [group]=\"editworkflowActivityForm\">\r\n                      </BBSF-MultiLingualTextBox>\r\n                    </td>\r\n                    <td>\r\n                      <!--NextActivity-->\r\n                      <BBSF-DropdownList [options]=\"option[2]\" [group]=\"editworkflowActivityForm\">\r\n                      </BBSF-DropdownList>\r\n                    </td>\r\n                  </tr>\r\n              </tbody>\r\n\r\n                <ng-template #notPublishedOutcomes>\r\n                  <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                    <tr *ngFor=\"let option of outcomesOptions;let i=index;\">\r\n\r\n                      <td>\r\n                        <!--ID-->\r\n                        <BBSF-TextBox [hidden]=\"true\" [options]=\"option[0]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-TextBox>\r\n                        <!--Name-->\r\n                        <BBSF-MultiLingualTextBox [options]=\"option[1]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-MultiLingualTextBox>\r\n                      </td>\r\n                      <td>\r\n                        <!--SysName-->\r\n                        <BBSF-TextBox [options]=\"option[2]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-TextBox>\r\n                        <!--hidden SysName-->\r\n                        <BBSF-TextBox [hidden]=\"true\" [options]=\"option[6]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-TextBox>\r\n                        <!--can edit SysName-->\r\n                        <BBSF-CheckBox [hidden]=\"true\" [options]=\"option[7]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-CheckBox>\r\n                      </td>\r\n                      <td>\r\n                        <!--NextActivity-->\r\n                        <BBSF-DropdownList [options]=\"option[3]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-DropdownList>\r\n                      </td>\r\n                      <td>\r\n                        <!--CanAddComment-->\r\n                        <BBSF-CheckBox [options]=\"option[4]\" [group]=\"editworkflowActivityForm\">\r\n                        </BBSF-CheckBox>\r\n                      </td>\r\n\r\n                      <td>\r\n                        <!--if outcome Can Edit-->\r\n                        <a *ngIf=\"option[5]\" class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteOutcome(option)\">\r\n                          <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                        </a>\r\n                      </td>\r\n                    </tr>\r\n                    <tr *ngIf=\"canAddOutcome\">\r\n                      <td colspan=\"5\">\r\n                        <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addWFActivityOutcome()\">\r\n                          {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                        </button>\r\n                      </td>\r\n                    </tr>\r\n                  </tbody>\r\n                </ng-template>\r\n\r\n            </table>\r\n          </div>\r\n\r\n        </div>\r\n        <!--End outcomes container-->\r\n\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"cancelEdit()\">\r\n            {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowInstanceService {\r\n  ApiUrl = \"/api/admin/WFInstance/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n  getDetails(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"instanceId\", id);\r\n    return this.http.get(this.ApiUrl + 'Details', params);\r\n  }\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { WFCreationModel } from \"../models/WorkflowModels/WFCreationModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowLogVariablesService {\r\n  ApiUrl = \"/api/admin/WorkflowLog/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n  getLogVariables(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"logID\", id);\r\n    return this.http.get(this.ApiUrl + 'GetLogVariables', params);\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnglishArabicDTO, FilterItem, FilterType, InputType, MultiLingualTextBoxOptions, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AuthService, BBSFTranslateService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { WorkflowInstanceService } from '../../shared/Services/WorkflowInstanceService.service';\r\nimport { WorkflowLogVariablesService } from '../../shared/Services/WorkflowLogVariablesService.service';\r\n\r\n@Component({\r\n    selector: 'lib-instance-info',\r\n    templateUrl: './instance-info.component.html',\r\n    styleUrls: ['./instance-info.component.css'],\r\n    standalone: false\r\n})\r\nexport class InstanceInfoComponent implements OnInit {\r\n  // Details Controls\r\n  detailsForm = new FormGroup({});\r\n  instanceDetails: any;\r\n  instanceID: string;\r\n  instanceName: MultiLingualTextBoxOptions;\r\n  instanceCreator: TextBoxOptions;\r\n  instanceStatus: TextBoxOptions;\r\n  showInstanceDetails: boolean = false;\r\n\r\n  //Start WorkFlow variables\r\n  workFlowVariablesApiUrl = \"/api/admin/WorkflowInstanceVariable/\";\r\n  workflowVariablesForm = new FormGroup({});\r\n  variablesInstanceIdTextBox: TextBoxOptions;\r\n  variableInstanceIdFilter: FilterItem;\r\n  searchVariablesTextBox: TextBoxOptions;\r\n  variablesTextInputFilter: FilterItem;\r\n  workFlowVariablesPagingResult: any[] = [];\r\n  WorkflowVariablesPaging: PagingOptions;\r\n  isWFVariablesFilterLoaded: boolean = false;\r\n  //End WorkFlow variables\r\n\r\n  //Start WorkFlow tasks\r\n  workFlowTasksApiUrl = \"/api/admin/WorkflowInstanceTask/\";\r\n  tasksForm = new FormGroup({});\r\n  searchTasksTextBox: TextBoxOptions;\r\n  taskTextInputFilter: FilterItem;\r\n  taskInstanceIdTextBox: TextBoxOptions;\r\n  taskInstanceIdFilter: FilterItem;\r\n  tasksPagingResult: any[] = [];\r\n  WorkflowTasksPaging: PagingOptions;\r\n  isWFTasksFilterLoaded: boolean = false;\r\n  //End WorkFlow tasks\r\n\r\n  //Start WorkFlow errors\r\n  workFlowErrorsApiUrl = \"/api/admin/WorkflowInstanceError/\";\r\n  errorsForm = new FormGroup({});\r\n  searchErrorsTextBox: TextBoxOptions;\r\n  errorTextInputFilter: FilterItem;\r\n  errorInstanceIdTextBox: TextBoxOptions;\r\n  errorInstanceIdFilter: FilterItem;\r\n  errorsPagingResult: any[] = [];\r\n  WorkflowErrorsPaging: PagingOptions;\r\n  isWFErrorsFilterLoaded: boolean = false;\r\n  //End WorkFlow errors\r\n\r\n  //Start WorkFlow logs\r\n  workFlowLogsApiUrl = \"/api/admin/WorkflowLog/\";\r\n  logsForm = new FormGroup({});\r\n  searchLogsTextBox: TextBoxOptions;\r\n  logTextInputFilter: FilterItem;\r\n  logInstanceIdTextBox: TextBoxOptions;\r\n  logInstanceIdFilter: FilterItem;\r\n  logsPagingResult: any[] = [];\r\n  WorkflowLogsPaging: PagingOptions;\r\n  isWFLogsFilterLoaded: boolean = false;\r\n  //End WorkFlow errors\r\n\r\n  //Start WorkFlow log variables\r\n  logVariablesPagingResult: any[] = [];\r\n  logID: string;\r\n  //End WorkFlow errors\r\n\r\n  constructor(private authService: AuthService, private workFlowInstanceService: WorkflowInstanceService,\r\n    private activatedRoute: ActivatedRoute, private pageInfoService: PageInfoService, private bbsfTranslateService: BBSFTranslateService,\r\n    public utilityService: UtilityService, private wfLogVariablesService: WorkflowLogVariablesService,\r\n    private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.instanceID = params['id'];\r\n\r\n    });\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.getDetails();\r\n\r\n  }\r\n\r\n  //WF instance functions\r\n  getDetails() {\r\n    this.showInstanceDetails = false;\r\n    this.isWFVariablesFilterLoaded = false;\r\n\r\n    this.workFlowInstanceService.getDetails(this.instanceID).subscribe((result) => {\r\n      this.instanceDetails = result as any;\r\n\r\n      var Name = new EnglishArabicDTO();\r\n      Name.arabic = this.instanceDetails.name.arabic;\r\n      Name.english = this.instanceDetails.name.english;\r\n\r\n      PageInfoService.PageTitle = this.instanceDetails.nameStr;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"WorkFlows\"), path: '/Admin/Workflows/workflow', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.instanceDetails.workflowNameStr, path: `/Admin/Workflows/tabs/${this.instanceDetails.workFlowID}/${this.instanceDetails.versionID}`, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.instanceDetails.versionNameStr, path: `/Admin/Workflows/VersionInfo/${this.instanceDetails.versionIDEnc}`, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n\r\n      this.instanceName = new MultiLingualTextBoxOptions();\r\n      this.instanceName.name = \"instanceName\";\r\n      this.instanceName.arabicLabelKey = \"NameInArabic\";\r\n      this.instanceName.englishLabelKey = \"NameInEnglish\";\r\n      this.instanceName.value = Name;\r\n      this.instanceName.isDisabled = true;\r\n\r\n      this.instanceCreator = new TextBoxOptions();\r\n      this.instanceCreator.name = \"instanceCreator\";\r\n      this.instanceCreator.labelKey = \"CreatedBy\";\r\n      this.instanceCreator.type = InputType.Text;\r\n      this.instanceCreator.isDisabled = true;\r\n      this.instanceCreator.value = this.instanceDetails.createdBy;\r\n\r\n      this.instanceStatus = new TextBoxOptions();\r\n      this.instanceStatus.name = \"instanceStatus\";\r\n      this.instanceStatus.labelKey = \"Status\";\r\n      this.instanceStatus.type = InputType.Text;\r\n      this.instanceStatus.isDisabled = true;\r\n      this.instanceStatus.value = this.instanceDetails.instanceStatus;\r\n\r\n      this.isWFVariablesFilterLoaded = false;\r\n      this.showInstanceDetails = true;\r\n      this.utilityService.stopBlockUI();\r\n\r\n    });\r\n  }\r\n\r\n  //WF variables function\r\n  initializeWFVariables() {\r\n    this.showInstanceDetails = false;\r\n    this.isWFVariablesFilterLoaded = false;\r\n    this.isWFTasksFilterLoaded = false;\r\n\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchVariablesTextBox = new TextBoxOptions();\r\n    this.searchVariablesTextBox.name = \"searchVariablesTextBox\";\r\n    this.searchVariablesTextBox.type = InputType.Text;\r\n    this.searchVariablesTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchVariablesTextBox.hideLabel = true;\r\n\r\n\r\n    this.variablesTextInputFilter = new FilterItem();\r\n    this.variablesTextInputFilter.formControlName = \"searchVariablesTextBox\";\r\n    this.variablesTextInputFilter.actionParameterName = \"searchText\";\r\n    this.variablesTextInputFilter.isFormControl = true;\r\n    this.variablesTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.variablesInstanceIdTextBox = new TextBoxOptions();\r\n    this.variablesInstanceIdTextBox.name = \"variablesInstanceIdTextBox\";\r\n    this.variablesInstanceIdTextBox.hideLabel = true;\r\n    this.variablesInstanceIdTextBox.type = InputType.Text;\r\n    this.variablesInstanceIdTextBox.value = this.instanceID;\r\n\r\n    this.variableInstanceIdFilter = new FilterItem();\r\n    this.variableInstanceIdFilter.formControlName = \"variablesInstanceIdTextBox\";\r\n    this.variableInstanceIdFilter.actionParameterName = \"instanceID\";\r\n    this.variableInstanceIdFilter.isFormControl = true;\r\n    this.variableInstanceIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowVariablesPaging = new PagingOptions();\r\n    this.WorkflowVariablesPaging.actionPostURL = this.workFlowVariablesApiUrl + 'GetInstanceVariablesListing';\r\n    this.WorkflowVariablesPaging.onKeyPressFiltersControlNames = [\"searchVariablesTextBox\", \"variablesInstanceIdTextBox\"];\r\n    this.WorkflowVariablesPaging.filters = [this.variablesTextInputFilter, this.variableInstanceIdFilter];\r\n    this.WorkflowVariablesPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    setTimeout(() => {\r\n\r\n      this.isWFVariablesFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n\r\n  setWorkflowVariablesListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.workFlowVariablesPagingResult = result;\r\n\r\n  }\r\n\r\n  //WF tasks function\r\n  initializeTasks() {\r\n    this.showInstanceDetails = false;\r\n    this.isWFVariablesFilterLoaded = false;\r\n    this.isWFTasksFilterLoaded = false;\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchTasksTextBox = new TextBoxOptions();\r\n    this.searchTasksTextBox.name = \"searchTasksTextBox\";\r\n    this.searchTasksTextBox.type = InputType.Text;\r\n    this.searchTasksTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTasksTextBox.hideLabel = true;\r\n\r\n\r\n    this.taskTextInputFilter = new FilterItem();\r\n    this.taskTextInputFilter.formControlName = \"searchTasksTextBox\";\r\n    this.taskTextInputFilter.actionParameterName = \"searchText\";\r\n    this.taskTextInputFilter.isFormControl = true;\r\n    this.taskTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.taskInstanceIdTextBox = new TextBoxOptions();\r\n    this.taskInstanceIdTextBox.name = \"taskInstanceIdTextBox\";\r\n    this.taskInstanceIdTextBox.hideLabel = true;\r\n    this.taskInstanceIdTextBox.type = InputType.Text;\r\n    this.taskInstanceIdTextBox.value = this.instanceID;\r\n\r\n    this.taskInstanceIdFilter = new FilterItem();\r\n    this.taskInstanceIdFilter.formControlName = \"taskInstanceIdTextBox\";\r\n    this.taskInstanceIdFilter.actionParameterName = \"instanceID\";\r\n    this.taskInstanceIdFilter.isFormControl = true;\r\n    this.taskInstanceIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowTasksPaging = new PagingOptions();\r\n    this.WorkflowTasksPaging.actionPostURL = this.workFlowTasksApiUrl + 'GetInstanceTasksListing';\r\n    this.WorkflowTasksPaging.onKeyPressFiltersControlNames = [\"searchTasksTextBox\", \"taskInstanceIdTextBox\"];\r\n    this.WorkflowTasksPaging.filters = [this.taskTextInputFilter, this.taskInstanceIdFilter];\r\n    this.WorkflowTasksPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    setTimeout(() => {\r\n\r\n      this.isWFTasksFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n\r\n  setWorkflowTasksListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.tasksPagingResult = result;\r\n\r\n  }\r\n\r\n  //WF errors function\r\n  initializeErrors() {\r\n    this.showInstanceDetails = false;\r\n    this.isWFVariablesFilterLoaded = false;\r\n    this.isWFTasksFilterLoaded = false;\r\n    this.isWFErrorsFilterLoaded = false;\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchErrorsTextBox = new TextBoxOptions();\r\n    this.searchErrorsTextBox.name = \"searchErrorsTextBox\";\r\n    this.searchErrorsTextBox.type = InputType.Text;\r\n    this.searchErrorsTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchErrorsTextBox.hideLabel = true;\r\n\r\n\r\n    this.errorTextInputFilter = new FilterItem();\r\n    this.errorTextInputFilter.formControlName = \"searchErrorsTextBox\";\r\n    this.errorTextInputFilter.actionParameterName = \"searchText\";\r\n    this.errorTextInputFilter.isFormControl = true;\r\n    this.errorTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.errorInstanceIdTextBox = new TextBoxOptions();\r\n    this.errorInstanceIdTextBox.name = \"errorInstanceIdTextBox\";\r\n    this.errorInstanceIdTextBox.hideLabel = true;\r\n    this.errorInstanceIdTextBox.type = InputType.Text;\r\n    this.errorInstanceIdTextBox.value = this.instanceID;\r\n\r\n    this.errorInstanceIdFilter = new FilterItem();\r\n    this.errorInstanceIdFilter.formControlName = \"errorInstanceIdTextBox\";\r\n    this.errorInstanceIdFilter.actionParameterName = \"instanceID\";\r\n    this.errorInstanceIdFilter.isFormControl = true;\r\n    this.errorInstanceIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowErrorsPaging = new PagingOptions();\r\n    this.WorkflowErrorsPaging.actionPostURL = this.workFlowErrorsApiUrl + 'GetInstanceErrorsListing';\r\n    this.WorkflowErrorsPaging.onKeyPressFiltersControlNames = [\"searchErrorsTextBox\", \"errorInstanceIdTextBox\"];\r\n    this.WorkflowErrorsPaging.filters = [this.errorTextInputFilter, this.errorInstanceIdFilter];\r\n    this.WorkflowErrorsPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    setTimeout(() => {\r\n\r\n      this.isWFErrorsFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n\r\n  setWorkflowErrorsListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.errorsPagingResult = result;\r\n\r\n  }\r\n\r\n  //WF logs function\r\n  initializeLogs() {\r\n    this.showInstanceDetails = false;\r\n    this.isWFVariablesFilterLoaded = false;\r\n    this.isWFTasksFilterLoaded = false;\r\n    this.isWFErrorsFilterLoaded = false;\r\n    this.isWFLogsFilterLoaded = false;\r\n\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchLogsTextBox = new TextBoxOptions();\r\n    this.searchLogsTextBox.name = \"searchLogsTextBox\";\r\n    this.searchLogsTextBox.type = InputType.Text;\r\n    this.searchLogsTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchLogsTextBox.hideLabel = true;\r\n\r\n\r\n    this.logTextInputFilter = new FilterItem();\r\n    this.logTextInputFilter.formControlName = \"searchLogsTextBox\";\r\n    this.logTextInputFilter.actionParameterName = \"searchText\";\r\n    this.logTextInputFilter.isFormControl = true;\r\n    this.logTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.logInstanceIdTextBox = new TextBoxOptions();\r\n    this.logInstanceIdTextBox.name = \"logInstanceIdTextBox\";\r\n    this.logInstanceIdTextBox.hideLabel = true;\r\n    this.logInstanceIdTextBox.type = InputType.Text;\r\n    this.logInstanceIdTextBox.value = this.instanceID;\r\n\r\n    this.logInstanceIdFilter = new FilterItem();\r\n    this.logInstanceIdFilter.formControlName = \"logInstanceIdTextBox\";\r\n    this.logInstanceIdFilter.actionParameterName = \"instanceID\";\r\n    this.logInstanceIdFilter.isFormControl = true;\r\n    this.logInstanceIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowLogsPaging = new PagingOptions();\r\n    this.WorkflowLogsPaging.actionPostURL = this.workFlowLogsApiUrl + 'GetInstanceLogsListing';\r\n    this.WorkflowLogsPaging.onKeyPressFiltersControlNames = [\"searchLogsTextBox\", \"logInstanceIdTextBox\"];\r\n    this.WorkflowLogsPaging.filters = [this.logTextInputFilter, this.logInstanceIdFilter];\r\n    this.WorkflowLogsPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    setTimeout(() => {\r\n\r\n      this.isWFLogsFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n\r\n  setWorkflowLogsListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.logsPagingResult = result;\r\n\r\n  }\r\n\r\n  showLogVariables(logID: string, logVariablesModal: any) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.wfLogVariablesService.getLogVariables(logID).subscribe((result) => {\r\n      let logVariablesList = result as any[];\r\n      this.logVariablesPagingResult = logVariablesList;\r\n\r\n      this.modalService.open(logVariablesModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n  }\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-body\">\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder\">\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\"\r\n            (click)=\"getDetails()\">{{utilityService.getResourceValue(\"Details\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-body py-3 px-0\">\r\n                <form [formGroup]=\"detailsForm\" *ngIf=\"showInstanceDetails\">\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-MultiLingualTextBox [options]=\"instanceName\" [group]=\"detailsForm\">\r\n                      </BBSF-MultiLingualTextBox>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"instanceCreator\" [group]=\"detailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"instanceStatus\" [group]=\"detailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                </form>\r\n\r\n\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\"\r\n            (click)=\"initializeWFVariables()\">{{utilityService.getResourceValue(\"WorkFlowVariables\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"isWFVariablesFilterLoaded\">\r\n                  <form [formGroup]=\"workflowVariablesForm\">\r\n                    <BBSF-TextBox [options]=\"searchVariablesTextBox\" [group]=\"workflowVariablesForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"variablesInstanceIdTextBox\" [group]=\"workflowVariablesForm\"\r\n                      [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::variables list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"DataType\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let variable of workFlowVariablesPagingResult\">\r\n                        <td>\r\n                          <span class=\"text-dark\">{{variable.nameStr}}</span>\r\n                        </td>\r\n                        <td>{{variable.dataTypeItem}}</td>\r\n                        <td>{{variable.value}}</td>\r\n                      </tr>\r\n                      <tr *ngIf=\"workFlowVariablesPagingResult.length == 0\">\r\n                        <td colspan=\"3\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::variables list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowVariablesListResult($event)\" *ngIf=\"isWFVariablesFilterLoaded\"\r\n                  [options]=\"WorkflowVariablesPaging\" [group]=\"workflowVariablesForm\"\r\n                  #workflowVariablesPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\"\r\n            (click)=\"initializeTasks()\">{{utilityService.getResourceValue(\"Tasks\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"isWFTasksFilterLoaded\">\r\n                  <form [formGroup]=\"tasksForm\">\r\n                    <BBSF-TextBox [options]=\"searchTasksTextBox\" [group]=\"tasksForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"taskInstanceIdTextBox\" [group]=\"tasksForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::variables list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ActivityName\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"IsCompleted\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CreationDate\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Type\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"AssignedTo\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CompletedBy\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let task of tasksPagingResult\">\r\n                        <td>\r\n                          <span class=\"text-dark\">{{task.activity}}</span>\r\n                        </td>\r\n                        <td>\r\n                          <span\r\n                            *ngIf=\"task.IsCompleted; else notCompleted\">{{utilityService.getResourceValue(\"Yes\")}}</span>\r\n                          <ng-template #notCompleted>\r\n                            <span>{{utilityService.getResourceValue(\"No\")}}</span>\r\n                          </ng-template>\r\n                        </td>\r\n                        <td>{{task.creationDate}}</td>\r\n                        <td>{{task.taskCorrelationType}}</td>\r\n                        <td>{{task.assignedTo}}</td>\r\n                        <td>{{task.completedBy}}</td>\r\n\r\n                      </tr>\r\n                      <tr *ngIf=\"tasksPagingResult.length == 0\">\r\n                        <td colspan=\"6\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::variables list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowTasksListResult($event)\" *ngIf=\"isWFTasksFilterLoaded\"\r\n                  [options]=\"WorkflowTasksPaging\" [group]=\"tasksForm\" #workflowTasksPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\"\r\n            (click)=\"initializeErrors()\">{{utilityService.getResourceValue(\"Errors\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"isWFErrorsFilterLoaded\">\r\n                  <form [formGroup]=\"errorsForm\">\r\n                    <BBSF-TextBox [options]=\"searchErrorsTextBox\" [group]=\"errorsForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"errorInstanceIdTextBox\" [group]=\"errorsForm\"\r\n                      [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::variables list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ActivityName\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"InstanceName\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ErrorMsg\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let error of errorsPagingResult\">\r\n                        <td>\r\n                          <span class=\"text-dark\">{{error.activityName}}</span>\r\n                        </td>\r\n                        <td>{{error.instanceName}}</td>\r\n                        <td>{{error.error}}</td>\r\n\r\n                      </tr>\r\n                      <tr *ngIf=\"errorsPagingResult.length == 0\">\r\n                        <td colspan=\"3\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::variables list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowErrorsListResult($event)\" *ngIf=\"isWFErrorsFilterLoaded\"\r\n                  [options]=\"WorkflowErrorsPaging\" [group]=\"errorsForm\" #workflowErrorsPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\"\r\n            (click)=\"initializeLogs()\">{{utilityService.getResourceValue(\"Logs\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"isWFLogsFilterLoaded\">\r\n                  <form [formGroup]=\"logsForm\">\r\n                    <BBSF-TextBox [options]=\"searchLogsTextBox\" [group]=\"logsForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"logInstanceIdTextBox\" [group]=\"logsForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::variables list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Activity\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Descision\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CompletedBy\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CreationDate\")}}</th>\r\n                        <th class=\"min-w-150px\"></th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let log of logsPagingResult\">\r\n                        <td>\r\n                          <span class=\"text-dark\">{{log.activityName}}</span>\r\n                        </td>\r\n                        <td>{{log.outcomeName}}</td>\r\n                        <td>{{log.completedBy}}</td>\r\n                        <td>{{log.created}}</td>\r\n                        <td>{{log.created}}</td>\r\n                        <td>\r\n                          <div>\r\n                            <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                              class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                              <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                            </button>\r\n                            <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                              <button class=\"drop-item px-3\" ngbDropdownItem\r\n                                (click)=\"showLogVariables(log.idEncrypted, LogVariablesModal)\">\r\n                                <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"LogVariables\")}}</span>\r\n                              </button>\r\n                            </mat-menu>\r\n                          </div>\r\n                        </td>\r\n                      </tr>\r\n                      <tr *ngIf=\"logsPagingResult.length == 0\">\r\n                        <td colspan=\"5\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::variables list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowLogsListResult($event)\" *ngIf=\"isWFLogsFilterLoaded\"\r\n                  [options]=\"WorkflowLogsPaging\" [group]=\"logsForm\" #workflowLogsPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n\r\n          <!--Log variables Modal-->\r\n          <ng-template #LogVariablesModal let-modal>\r\n            <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n              <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n              <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n                class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n                <span class=\"svg-icon svg-icon-1\">\r\n                  <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n                </span>\r\n              </button>\r\n            </div>\r\n            <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n              <div class=\"mb-13 text-center\">\r\n                <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"LogVariables\")}}</h1>\r\n              </div>\r\n              <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                <thead>\r\n                  <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                    <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                    <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"VariableType\")}}</th>\r\n                    <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n                  </tr>\r\n                </thead>\r\n                <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                  <tr *ngFor=\"let logVar of logVariablesPagingResult\">\r\n                    <td>\r\n                      <span class=\"text-dark\">{{logVar.variableName}}</span>\r\n                    </td>\r\n                    <td>{{logVar.variableType}}</td>\r\n                    <td>{{logVar.variableValue}}</td>\r\n                  </tr>\r\n                  <tr *ngIf=\"logVariablesPagingResult.length == 0\">\r\n                    <td colspan=\"3\">\r\n                      <lib-empty-data></lib-empty-data>\r\n                    </td>\r\n                  </tr>\r\n                </tbody>\r\n              </table>\r\n            </div>\r\n            <div class=\"modal-footer\">\r\n              <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">\r\n                {{utilityService.getResourceValue(\"Close\")}}\r\n              </button>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n\r\n      </ul>\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </div>\r\n  </div>\r\n</div>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nimport { VariableLookupModel } from \"./VariableLookupModel\";\r\nexport class WFVariableModel {\r\n  ID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  WorkflowVersionID_GUID: string;\r\n  DataTypeItemID_GUID: string;\r\n  VariableTypeItemID: number;\r\n  SysName: string;\r\n  Value_Identifier: string;\r\n  VariableTypeItem: string;\r\n  DataTypeItem: string;\r\n  IsConstant: boolean;\r\n  Value_Text: string;\r\n  Value_Number?: number;\r\n  Value_Boolean?: number;\r\n  Value_Date?: Date;\r\n  Value_Int?: number;\r\n  Value_Guid?: any;\r\n  Value_VariableLookupID?: number;\r\n  Single_MultiselectIDs: number[] = [];\r\n  variableLookupDTOs: VariableLookupModel[] = [];\r\n\r\n}\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class VariableLookupModel {\r\n  ID_GUID: string;\r\n  SysName: string;\r\n  NameEN: string;\r\n  NameAR: string;\r\n  VariableID_GUID: string;\r\n  Value: string;\r\n  Text: string;\r\n}\r\n","export class WFActivityVariablesModel {\r\n  activityVariableDTOs: WFActivityVariableDTO[] = [];\r\n  ActivityID_GUID: string;\r\n}\r\nexport class WFActivityVariableDTO {\r\n  ID_GUID: string;\r\n  ActivityID_GUID: string;\r\n  VariableName: string;\r\n  IsMandatory: boolean;\r\n  IsEnabled: boolean;\r\n  IsVisible: boolean;\r\n  IsSystem: boolean;\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { WFVariableModel } from './../models/WorkflowModels/WFVariableModel';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowVariablesService {\r\n  ApiUrl = \"/api/admin/WorkflowVariable/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddVariable');\r\n  }\r\n  addVariable(AddModel: WFVariableModel) {\r\n    return this.http.post(this.ApiUrl + 'AddVariable', AddModel);\r\n  }\r\n\r\n  getEditWorkFlowVariableData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditVariable', params);\r\n\r\n  }\r\n  editVariable(EditModel: WFVariableModel) {\r\n    return this.http.post(this.ApiUrl + 'EditVariable', EditModel);\r\n  }\r\n\r\n  deleteVariable(id: number) {\r\n    return this.http.post(this.ApiUrl + 'DeleteVariable', id);\r\n  }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, EnglishArabicDTO, FilterItem, FilterType, InputType, MultiLingualTextBoxOptions, PagingOptions, TextBoxOptions, ToggleSlideOptions, DropdownOptions, FormOptions, PagingActionMode, ForceDirection, ConfirmationModalOptions, CheckBoxOptions, ConfirmationModalComponent, PagingComponent } from '@bnsights/bbsf-controls';\r\nimport { WorkflowService } from './../../shared/Services/WorkflowService.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { WFVariableModel } from '../../shared/models/WorkflowModels/WFVariableModel';\r\nimport { WorkflowVariablesService } from '../../shared/Services/WorkflowVariablesService.service';\r\nimport { WorkflowActivityService } from '../../shared/Services/WorkflowActivityService.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { VariableLookupModel } from '../../shared/models/WorkflowModels/VariableLookupModel';\r\nimport { WFActivityVariableDTO, WFActivityVariablesModel } from '../../shared/models/WorkflowModels/WFActivityVariablesModel';\r\nimport { VariableDataType } from '../../shared/constants';\r\n\r\n@Component({\r\n    selector: 'lib-tabs',\r\n    templateUrl: './tabs.component.html',\r\n    styleUrls: ['./tabs.component.css'],\r\n    standalone: false\r\n})\r\nexport class TabsComponent implements OnInit {\r\n  //Page requirements\r\n  Pagetitle: string = \"\";\r\n\r\n  //WF\r\n  // Details Controls\r\n  DetailsForm = new FormGroup({});\r\n  WorkflowDetails: any;\r\n  WorkflowId: string;\r\n  NameMultilingualTextBox: MultiLingualTextBoxOptions;\r\n  DescriptionMultilingualTextBox: MultiLingualTextBoxOptions;\r\n  Active: TextBoxOptions;\r\n  Published: TextBoxOptions;\r\n  SysName: TextBoxOptions;\r\n  ShowWorkflowDetails: boolean = false;\r\n  VersionId: string;\r\n  //publish WF  Model Controls\r\n  publishWFConfirmationOptions: ConfirmationModalOptions;\r\n  publishControlLoaded: boolean = false;\r\n  @ViewChild('publishConfirmationModalControl', { static: false }) publishConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //Start WorkFlow Version\r\n  WorkFlowVersionApiUrl = \"/api/admin/WFVersion/\";\r\n  WorkflowVersionForm = new FormGroup({});\r\n  WorkflowIdTextBox: TextBoxOptions;\r\n  searchTextBox: TextBoxOptions;\r\n  WorkflowVersionPagingResult: any[] = [];\r\n  WorkflowVersionPaging: PagingOptions;\r\n  TextInputFilter: FilterItem;\r\n  WorkflowIdFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('WorkflowVersionPagingViewElement', { static: false }) WFVersionPagingElement: PagingComponent<any>;\r\n  //End WorkFlow version\r\n\r\n  //Start Workflow Variables\r\n  //Workflow Variables controls\r\n  WorkflowVariableApiUrl = \"/api/admin/WorkflowVariable/\";\r\n  WorkflowVariableForm = new FormGroup({});\r\n  WorkflowVariablesearchTextBox: TextBoxOptions;\r\n  WorkflowVariableTextInputFilter: FilterItem;\r\n  VerisonIdTextBox: TextBoxOptions;\r\n  VerisonIdTextInputFilter: FilterItem;\r\n  DataTypeList = [];\r\n  WorkflowVariablePagingResult: any[] = [];\r\n  WorkflowVariablePaging: PagingOptions;\r\n  IsWorkflowVariableFilterLoaded: boolean = false;\r\n\r\n  @ViewChild('WorkflowVariablePagingViewElement', { static: false }) WorkflowVariablePagingViewElement: PagingComponent<any>;\r\n\r\n  //Add Model Controls\r\n  AddWorkflowVariableForm = new FormGroup({});\r\n  AddWorkflowVariableFormOptions = new FormOptions;\r\n  AddWFVariableName: MultiLingualTextBoxOptions;\r\n  AddWFVariableSysName: TextBoxOptions;\r\n  AddWFVariableDataType: DropdownOptions;\r\n  AddWFVariableConstant: ToggleSlideOptions;\r\n  //WF variable lookups\r\n  addWFVariablesLookupOptions: any[] = [];\r\n  showAddLookupsTable: boolean = false;\r\n  addLastLookupIndex: number = 0;\r\n\r\n  //Edit Model Controls\r\n  EditWorkflowVariableForm = new FormGroup({});\r\n  EditWorkflowVariableFormOptions = new FormOptions;\r\n  EditWFVariableName: MultiLingualTextBoxOptions;\r\n  EditWFVariableSysName: TextBoxOptions;\r\n  EditWFVariableDataType: DropdownOptions;\r\n  EditWFVariableConstant: ToggleSlideOptions;\r\n  WorkflowVariableId: any;\r\n  //WF variable lookups\r\n  editWFVariablesLookupOptions: any[] = [];\r\n  showEditLookupsTable: boolean = false;\r\n  editLastLookupIndex: number = 0;\r\n\r\n  //End Workflow Variable\r\n\r\n  //strat Workflow Activity\r\n  //Workflow Activity Controls\r\n  ActivityApiUrl = \"/api/admin/WorkflowActivity/\";\r\n  ActivityTypeList = [];\r\n  workflowActivityForm = new FormGroup({});\r\n  WorkflowActivityIdTextBox: TextBoxOptions;\r\n  WorkflowActivityIdFilter: FilterItem;\r\n  ActivityPagingResult: any[] = [];\r\n  ActivityPaging: PagingOptions;\r\n  IsworkflowActivityFilterLoaded: boolean = false;\r\n  @ViewChild('ActivityPagingViewElement', { static: false }) ActivityPagingViewElement: PagingComponent<any>;\r\n\r\n  //Add WF variables to activity controls\r\n  addWorkflowVariabletoActivityForm = new FormGroup({});\r\n  addWorkflowVariabletoActivityFormOptions = new FormOptions;\r\n  activityID: string;\r\n  activityWFVariableOptions: any[] = [];\r\n  lastActivityWFVariableIndex: number = 0;\r\n  activityVariablesList = [];\r\n  //End Workflow Activity\r\n\r\n\r\n  constructor(private authService: AuthService, private WorkflowService: WorkflowService,\r\n    private activatedRoute: ActivatedRoute, private WorkflowVariablesService: WorkflowVariablesService,\r\n    private workflowActivityService: WorkflowActivityService, private pageInfoService: PageInfoService,\r\n    private modalService: NgbModal, private environmentService: EnvironmentService, private bbsfTranslateService: BBSFTranslateService,\r\n    public utilityService: UtilityService, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.WorkflowId = params['id'];\r\n      this.VersionId = params['vid'];\r\n\r\n    });\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.getDetails();\r\n\r\n  }\r\n\r\n  //WF functions\r\n  getDetails() {\r\n    this.ShowWorkflowDetails = false;\r\n    this.IsFilterLoaded = false;\r\n    this.IsWorkflowVariableFilterLoaded = false;\r\n    this.IsworkflowActivityFilterLoaded = false;\r\n    this.WorkflowService.getDetails(this.WorkflowId).subscribe((result) => {\r\n      this.WorkflowDetails = result as any;\r\n\r\n      var Name = new EnglishArabicDTO();\r\n      Name.arabic = this.WorkflowDetails.name.arabic;\r\n      Name.english = this.WorkflowDetails.name.english;\r\n\r\n      this.Pagetitle = this.WorkflowDetails.nameStr;\r\n\r\n\r\n      PageInfoService.PageTitle = this.Pagetitle;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Workflows\"), path: '/Admin/Workflows/workflow', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n      ];\r\n\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n      this.NameMultilingualTextBox = new MultiLingualTextBoxOptions();\r\n      this.NameMultilingualTextBox.arabicLabelKey = \"NameInArabic\";\r\n      this.NameMultilingualTextBox.englishLabelKey = \"NameInEnglish\";\r\n      this.NameMultilingualTextBox.isRequired = true;\r\n      this.NameMultilingualTextBox.name = \"Name\";\r\n      this.NameMultilingualTextBox.value = Name;\r\n      this.NameMultilingualTextBox.isDisabled = true;\r\n\r\n\r\n      var Description = new EnglishArabicDTO();\r\n      Description.arabic = this.WorkflowDetails.description.arabic;\r\n      Description.english = this.WorkflowDetails.description.english;\r\n      this.DescriptionMultilingualTextBox = new MultiLingualTextBoxOptions();\r\n      this.DescriptionMultilingualTextBox.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.DescriptionMultilingualTextBox.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.DescriptionMultilingualTextBox.isRequired = true;\r\n      this.DescriptionMultilingualTextBox.name = \"Description\";\r\n      this.DescriptionMultilingualTextBox.value = Description;\r\n      this.DescriptionMultilingualTextBox.isDisabled = true;\r\n\r\n      this.SysName = new TextBoxOptions();\r\n      this.SysName.name = \"SysName\";\r\n      this.SysName.labelKey = \"SysName\";\r\n      this.SysName.type = InputType.Text;\r\n      this.SysName.isDisabled = true;\r\n      this.SysName.value = this.WorkflowDetails.sysName;\r\n\r\n      this.Active = new TextBoxOptions();\r\n      this.Active.name = \"Active\";\r\n      this.Active.labelKey = \"Active\";\r\n      this.Active.type = InputType.Text;\r\n      this.Active.isDisabled = true;\r\n      this.Active.value = this.WorkflowDetails.isActive;\r\n\r\n      this.Published = new TextBoxOptions();\r\n      this.Published.name = \"Published\";\r\n      this.Published.labelKey = \"Published\";\r\n      this.Published.type = InputType.Text;\r\n      this.Published.isDisabled = true;\r\n      this.Published.value = this.WorkflowDetails.isPublished;\r\n\r\n      this.IsFilterLoaded = false;\r\n      this.IsWorkflowVariableFilterLoaded = false;\r\n      this.IsworkflowActivityFilterLoaded = false;\r\n\r\n\r\n      this.ShowWorkflowDetails = true;\r\n      this.utilityService.stopBlockUI();\r\n\r\n    }, (error) => {\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  //Delete provider\r\n  showPublishWFModal(id: string) {\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n\r\n    this.publishWFConfirmationOptions = new ConfirmationModalOptions();\r\n    this.publishWFConfirmationOptions.serviceSubmitFunction = this.publishWorkFlow;\r\n    this.publishWFConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.publishWFConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"PublishWorkFflow\");\r\n    this.publishWFConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"PublishWorkFflowConfirmation\");\r\n    this.publishWFConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Publish\");\r\n    this.publishWFConfirmationOptions.successNotificationMessage = this.utilityService.getResourceValue(\"PublishedSuccessfully\");\r\n    this.publishWFConfirmationOptions.onSuccessHandler = this.publishWorkFlowOnSuccess;\r\n\r\n    this.publishControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.publishConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  publishWorkFlow = (id: string): Observable<any> => {\r\n    return this.WorkflowService.publishWorkFlow(id);\r\n  };\r\n  publishWorkFlowOnSuccess = (result) => {\r\n    this.WorkflowDetails.isPublished = true;\r\n  };\r\n\r\n  //WF version functions\r\n  initializeVersion() {\r\n    this.ShowWorkflowDetails = false;\r\n    this.IsFilterLoaded = false;\r\n    this.IsWorkflowVariableFilterLoaded = false;\r\n    this.IsworkflowActivityFilterLoaded = false;\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.WorkflowIdTextBox = new TextBoxOptions();\r\n    this.WorkflowIdTextBox.name = \"WorkflowIdTextBox\";\r\n    this.WorkflowIdTextBox.hideLabel = true;\r\n    this.WorkflowIdTextBox.type = InputType.Text;\r\n    this.WorkflowIdTextBox.value = this.WorkflowId;\r\n\r\n    this.WorkflowIdFilter = new FilterItem();\r\n    this.WorkflowIdFilter.formControlName = \"WorkflowIdTextBox\";\r\n    this.WorkflowIdFilter.actionParameterName = \"WfID\";\r\n    this.WorkflowIdFilter.isFormControl = true;\r\n    this.WorkflowIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowVersionPaging = new PagingOptions();\r\n    this.WorkflowVersionPaging.actionPostURL = this.WorkFlowVersionApiUrl + 'GetVersionsListing';\r\n    this.WorkflowVersionPaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"WorkflowIdTextBox\"];\r\n    this.WorkflowVersionPaging.filters = [this.TextInputFilter, this.WorkflowIdFilter];\r\n    this.WorkflowVersionPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.IsWorkflowVariableFilterLoaded = false;\r\n    this.IsworkflowActivityFilterLoaded = false;\r\n\r\n    setTimeout(() => {\r\n\r\n      this.IsFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n  setWorkflowVersionListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.WorkflowVersionPagingResult = result;\r\n\r\n  }\r\n\r\n  //WF variables Functions\r\n  setWorkflowVariableListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.WorkflowVariablePagingResult = result;\r\n  }\r\n\r\n  //initialize WF variables page\r\n  initializeWorkflowVariables() {\r\n    // TextBox init\r\n    this.WorkflowVariablesearchTextBox = new TextBoxOptions();\r\n    this.WorkflowVariablesearchTextBox.name = \"WorkflowVariablesearchTextBox\";\r\n    this.WorkflowVariablesearchTextBox.type = InputType.Text;\r\n    this.WorkflowVariablesearchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.WorkflowVariablesearchTextBox.hideLabel = true;\r\n\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"WorkflowVariablesearchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.VerisonIdTextBox = new TextBoxOptions();\r\n    this.VerisonIdTextBox.name = \"VerisonIdTextBox\";\r\n    this.VerisonIdTextBox.hideLabel = true;\r\n    this.VerisonIdTextBox.type = InputType.Text;\r\n    this.VerisonIdTextBox.value = this.WorkflowId;\r\n\r\n    this.VerisonIdTextInputFilter = new FilterItem();\r\n    this.VerisonIdTextInputFilter.formControlName = \"VerisonIdTextBox\";\r\n    this.VerisonIdTextInputFilter.actionParameterName = \"versionID\";\r\n    this.VerisonIdTextInputFilter.isFormControl = true;\r\n    this.VerisonIdTextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowVariablePaging = new PagingOptions();\r\n    this.WorkflowVariablePaging.actionPostURL = this.WorkflowVariableApiUrl + 'GetVariableListing';\r\n    this.WorkflowVariablePaging.onKeyPressFiltersControlNames = [\"WorkflowVariablesearchTextBox\", \"VerisonIdTextBox\"];\r\n    this.WorkflowVariablePaging.filters = [this.TextInputFilter, this.VerisonIdTextInputFilter];\r\n    this.WorkflowVariablePaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.ShowWorkflowDetails = false;\r\n    this.IsFilterLoaded = false;\r\n    this.IsworkflowActivityFilterLoaded = false;\r\n    setTimeout(() => {\r\n\r\n      this.IsWorkflowVariableFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n\r\n    }, 10);\r\n  }\r\n\r\n  //Add,Edit WF variable shared functions\r\n  WFVariableTypeOnChange(type: any, isAdd: boolean) {\r\n    type = type.toLowerCase();\r\n    if (isAdd) {\r\n      for (let i = 0; i < this.addLastLookupIndex; i++) {\r\n        this.AddWorkflowVariableForm.removeControl(\"AddLookupNameEN\" + i);\r\n        this.AddWorkflowVariableForm.removeControl(\"AddLookupNameAR\" + i);\r\n        this.AddWorkflowVariableForm.removeControl(\"LookupValue\" + i);\r\n      }\r\n      this.addWFVariablesLookupOptions = [];\r\n      this.addLastLookupIndex = 0;\r\n      if (type == VariableDataType.SingleSelection || type == VariableDataType.MultiSelection)\r\n        this.showAddLookupsTable = true;\r\n      else\r\n        this.showAddLookupsTable = false;\r\n\r\n    }\r\n    else {\r\n      for (let i = 0; i < this.editLastLookupIndex; i++) {\r\n        this.EditWorkflowVariableForm.removeControl(\"EditLookupID\" + i);\r\n        this.EditWorkflowVariableForm.removeControl(\"EditLookupNameEN\" + i);\r\n        this.EditWorkflowVariableForm.removeControl(\"EditLookupNameAR\" + i);\r\n        this.EditWorkflowVariableForm.removeControl(\"EditLookupValue\" + i);\r\n      }\r\n      this.editWFVariablesLookupOptions = [];\r\n      this.editLastLookupIndex = 0;\r\n      if (type == VariableDataType.SingleSelection || type == VariableDataType.MultiSelection)\r\n        this.showEditLookupsTable = true;\r\n      else\r\n        this.showEditLookupsTable = false;\r\n    }\r\n  }\r\n  initializeWFVariableLookupOptions(isAdd: boolean) {\r\n    let lookupOptions: any[] = [];\r\n    let objectLookupOptions: any[] = [];\r\n    let actionIndicate: string;\r\n    let index: number;\r\n    if (isAdd) {\r\n      actionIndicate = \"Add\";\r\n      index = this.addLastLookupIndex;\r\n    }\r\n    else {\r\n      actionIndicate = \"Edit\";\r\n      index = this.editLastLookupIndex;\r\n    }\r\n    //For edit only\r\n    let lookupID = new TextBoxOptions();\r\n    lookupID.name = actionIndicate + \"LookupID\" + index;\r\n    lookupID.hideLabel = true;\r\n    lookupID.type = InputType.Text;\r\n\r\n    let lookupNameEN = new TextBoxOptions();\r\n    lookupNameEN.name = actionIndicate + \"LookupNameEN\" + index;\r\n    lookupNameEN.hideLabel = true;\r\n    lookupNameEN.type = InputType.Text;\r\n    lookupNameEN.isRequired = true;\r\n    lookupNameEN.maxLength = 255;\r\n\r\n    let lookupNameAR = new TextBoxOptions();\r\n    lookupNameAR.name = actionIndicate + \"LookupNameAR\" + index;\r\n    lookupNameAR.hideLabel = true;\r\n    lookupNameAR.type = InputType.Text;\r\n    lookupNameAR.isRequired = true;\r\n    lookupNameAR.maxLength = 255;\r\n\r\n    let lookupValue = new TextBoxOptions();\r\n    lookupValue.name = actionIndicate + \"LookupValue\" + index;\r\n    lookupValue.hideLabel = true;\r\n    lookupValue.type = InputType.Text;\r\n    lookupValue.isRequired = true;\r\n    lookupValue.maxLength = 2000;\r\n\r\n    if (isAdd)\r\n      objectLookupOptions.push(lookupNameEN, lookupNameAR, lookupValue);\r\n    else\r\n      objectLookupOptions.push(lookupID, lookupNameEN, lookupNameAR, lookupValue);\r\n\r\n    lookupOptions.push(objectLookupOptions);\r\n\r\n    index += 1;\r\n    return [lookupOptions, index];\r\n\r\n  }\r\n  deleteWFVariableLookup(deletedLookup: any, isAdd: boolean) {\r\n    if (isAdd) {\r\n      let deletedLookupIndex: number = this.addWFVariablesLookupOptions.indexOf(deletedLookup);\r\n      if (deletedLookupIndex !== -1) {\r\n        this.addWFVariablesLookupOptions.splice(deletedLookupIndex, 1);\r\n        for (var i = 0; i < deletedLookup.length; i++) {\r\n          this.AddWorkflowVariableForm.removeControl(deletedLookup[i].Name);\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      let deletedLookupIndex: number = this.editWFVariablesLookupOptions.indexOf(deletedLookup);\r\n      if (deletedLookupIndex !== -1) {\r\n        this.editWFVariablesLookupOptions.splice(deletedLookupIndex, 1);\r\n        for (var i = 0; i < deletedLookup.length; i++) {\r\n          this.EditWorkflowVariableForm.removeControl(deletedLookup[i].Name);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  //Add WF variable\r\n  showAddWorkflowVariableModal(AddWorkflowVariableModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.WorkflowVariablesService.loadAddDropdowns().subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.DataTypeList = resultObj.dataTypeList;\r\n\r\n      this.addWFVariablesLookupOptions = [];\r\n      this.addLastLookupIndex = 0;\r\n      this.showAddLookupsTable = false;\r\n\r\n      this.AddWorkflowVariableForm = new FormGroup({});\r\n      this.AddWorkflowVariableFormOptions = new FormOptions();\r\n      this.AddWorkflowVariableFormOptions.formGroup = this.AddWorkflowVariableForm;\r\n      this.AddWorkflowVariableFormOptions.getModelFunction = this.getAddWFVariableModel;\r\n      this.AddWorkflowVariableFormOptions.serviceSubmitFunction = this.getAddWFVariableFunction;\r\n      this.AddWorkflowVariableFormOptions.pagingReference = this.WorkflowVariablePagingViewElement;\r\n\r\n      this.AddWFVariableName = new MultiLingualTextBoxOptions();\r\n      this.AddWFVariableName.name = \"Name\";\r\n      this.AddWFVariableName.arabicLabelKey = \"NameInArabic\";\r\n      this.AddWFVariableName.englishLabelKey = \"NameInEnglish\";\r\n      this.AddWFVariableName.isRequired = true;\r\n      this.AddWFVariableName.maxLength = 255;\r\n\r\n\r\n      this.AddWFVariableSysName = new TextBoxOptions();\r\n      this.AddWFVariableSysName.name = \"SysName\";\r\n      this.AddWFVariableSysName.labelKey = \"SysName\";\r\n      this.AddWFVariableSysName.type = InputType.Text;\r\n      this.AddWFVariableSysName.value = null;\r\n      this.AddWFVariableSysName.maxLength = 100;\r\n\r\n      this.AddWFVariableDataType = new DropdownOptions();\r\n      this.AddWFVariableDataType.name = \"DataTypeItemID_GUID\";\r\n      this.AddWFVariableDataType.labelKey = \"DataType\";\r\n      this.AddWFVariableDataType.dataSource = this.DataTypeList;\r\n      this.AddWFVariableDataType.singleSelection = true;\r\n      this.AddWFVariableDataType.allowSearchFilter = true;\r\n      this.AddWFVariableDataType.placeholder = \"\";\r\n\r\n      this.AddWFVariableConstant = new ToggleSlideOptions();\r\n      this.AddWFVariableConstant.name = \"IsConstant\";\r\n      this.AddWFVariableConstant.labelKey = \"Constant\";\r\n      this.AddWFVariableConstant.viewType = ControlLayout.Horizontal;\r\n      this.modalService.open(AddWorkflowVariableModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n  getAddWFVariableModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddWorkflowVariableForm.value as any;\r\n    let addModel = new WFVariableModel();\r\n    addModel.Name = ResultModel.Name;\r\n    addModel.SysName = ResultModel.SysName;\r\n    addModel.WorkflowVersionID_GUID = this.VersionId;\r\n    addModel.DataTypeItemID_GUID = ResultModel.DataTypeItemID_GUID;\r\n    addModel.IsConstant = ResultModel.IsConstant;\r\n\r\n    for (let j = 0; j < this.addLastLookupIndex; j++) {\r\n      let addLookupNameEN = ResultModel[\"AddLookupNameEN\" + j];\r\n      if (addLookupNameEN == undefined)\r\n        continue;\r\n\r\n      let addLookupNameAR = ResultModel[\"AddLookupNameAR\" + j];\r\n      let addLookupValue = ResultModel[\"AddLookupValue\" + j];\r\n\r\n      let lookup: VariableLookupModel = new VariableLookupModel();\r\n      lookup.NameEN = addLookupNameEN;\r\n      lookup.NameAR = addLookupNameAR;\r\n      lookup.Value = addLookupValue;\r\n      addModel.variableLookupDTOs.push(lookup);\r\n    }\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n  getAddWFVariableFunction = (AddModel): Observable<any> => {\r\n    return this.WorkflowVariablesService.addVariable(AddModel);\r\n  };\r\n  addWFVariableLookupinAddMode() {\r\n    let result: any = this.initializeWFVariableLookupOptions(true);\r\n    this.addWFVariablesLookupOptions = this.addWFVariablesLookupOptions.concat(result[0]);\r\n    this.addLastLookupIndex = result[1];\r\n  }\r\n\r\n  //Edit WF variable\r\n  showEditWorkflowVariableModal(WFVariableID: string, EditWorkflowVariableModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.WorkflowVariableId = WFVariableID;\r\n    this.WorkflowVariablesService.getEditWorkFlowVariableData(WFVariableID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let workflowVariable = resultObj.model;\r\n      workflowVariable.dataTypeItemID_GUID = workflowVariable.dataTypeItemID_GUID?.toLowerCase();\r\n      let lists = resultObj.lists;\r\n      this.DataTypeList = lists.dataTypeList;\r\n\r\n      this.editWFVariablesLookupOptions = [];\r\n      this.editLastLookupIndex = 0;\r\n      this.showEditLookupsTable = false;\r\n\r\n      this.EditWorkflowVariableForm = new FormGroup({});\r\n      this.EditWorkflowVariableFormOptions = new FormOptions();\r\n      this.EditWorkflowVariableFormOptions.formGroup = this.EditWorkflowVariableForm;\r\n      this.EditWorkflowVariableFormOptions.getModelFunction = this.getEditWFVariableModel;\r\n      this.EditWorkflowVariableFormOptions.serviceSubmitFunction = this.getEditWFVariableFunction;\r\n      this.EditWorkflowVariableFormOptions.pagingReference = this.WorkflowVariablePagingViewElement;\r\n      this.EditWorkflowVariableFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let name = new EnglishArabicDTO();\r\n      name.arabic = workflowVariable.name.arabic;\r\n      name.english = workflowVariable.name.english;\r\n\r\n      this.EditWFVariableName = new MultiLingualTextBoxOptions();\r\n      this.EditWFVariableName.name = \"Name\";\r\n      this.EditWFVariableName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditWFVariableName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditWFVariableName.isRequired = true;\r\n      this.EditWFVariableName.value = name;\r\n      this.EditWFVariableName.maxLength = 255;\r\n\r\n\r\n      this.EditWFVariableSysName = new TextBoxOptions();\r\n      this.EditWFVariableSysName.name = \"SysName\";\r\n      this.EditWFVariableSysName.labelKey = \"SysName\";\r\n      this.EditWFVariableSysName.type = InputType.Text;\r\n      this.EditWFVariableSysName.value = workflowVariable.sysName;\r\n      this.EditWFVariableSysName.maxLength = 100;\r\n\r\n      this.EditWFVariableDataType = new DropdownOptions();\r\n      this.EditWFVariableDataType.name = \"DataTypeItemID_GUID\";\r\n      this.EditWFVariableDataType.labelKey = \"DataType\";\r\n      this.EditWFVariableDataType.dataSource = this.DataTypeList;\r\n      this.EditWFVariableDataType.singleSelection = true;\r\n      this.EditWFVariableDataType.allowSearchFilter = true;\r\n      this.EditWFVariableDataType.placeholder = \"\";\r\n      this.EditWFVariableDataType.selectedItems = workflowVariable.dataTypeItemID_GUID?.toLowerCase();\r\n\r\n      this.EditWFVariableConstant = new ToggleSlideOptions();\r\n      this.EditWFVariableConstant.name = \"IsConstant\";\r\n      this.EditWFVariableConstant.labelKey = \"Constant\";\r\n      this.EditWFVariableConstant.value = workflowVariable.isConstant;\r\n      this.EditWFVariableConstant.viewType = ControlLayout.Horizontal;\r\n\r\n\r\n      if (workflowVariable.dataTypeItemID_GUID == VariableDataType.SingleSelection || workflowVariable.dataTypeItemID_GUID == VariableDataType.MultiSelection) {\r\n        //Set Lookup Controls\r\n        this.setEditVariableLookups(workflowVariable.variableLookupDTOs);\r\n        this.showEditLookupsTable = true;\r\n      }\r\n      this.modalService.open(EditWorkflowVariableModal);\r\n      this.utilityService.stopBlockUI();\r\n\r\n    });\r\n  }\r\n  getEditWFVariableModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditWorkflowVariableForm.value as any;\r\n    let EditModel = new WFVariableModel();\r\n    EditModel.ID_GUID = this.WorkflowVariableId;\r\n    EditModel.Name = ResultModel.Name;\r\n    EditModel.SysName = ResultModel.SysName;\r\n    EditModel.WorkflowVersionID_GUID = this.VersionId;\r\n    EditModel.DataTypeItemID_GUID = ResultModel.DataTypeItemID_GUID;\r\n    EditModel.IsConstant = ResultModel.IsConstant;\r\n\r\n    for (let j = 0; j < this.editLastLookupIndex; j++) {\r\n      let editLookupID = ResultModel[\"EditLookupID\" + j];\r\n      if (editLookupID == undefined)\r\n        continue;\r\n\r\n      let editLookupNameEN = ResultModel[\"EditLookupNameEN\" + j];\r\n      let editLookupNameAR = ResultModel[\"EditLookupNameAR\" + j];\r\n      let editLookupValue = ResultModel[\"EditLookupValue\" + j];\r\n\r\n      let lookup: VariableLookupModel = new VariableLookupModel();\r\n      lookup.ID_GUID = editLookupID;\r\n      lookup.NameEN = editLookupNameEN;\r\n      lookup.NameAR = editLookupNameAR;\r\n      lookup.Value = editLookupValue;\r\n      EditModel.variableLookupDTOs.push(lookup);\r\n    }\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n  getEditWFVariableFunction = (EditModel): Observable<any> => {\r\n    return this.WorkflowVariablesService.editVariable(EditModel);\r\n  };\r\n  setEditVariableLookups(existingLookups: any[]) {\r\n    for (let i = 0; i < existingLookups.length; i++) {\r\n\r\n      let objectAttributeOptions: any[] = [];\r\n\r\n      let lookupID = new TextBoxOptions();\r\n      lookupID.name = \"EditLookupID\" + i;\r\n      lookupID.hideLabel = true;\r\n      lookupID.type = InputType.Text;\r\n      lookupID.value = existingLookups[i].iD_GUID;\r\n\r\n      let lookupNameEN = new TextBoxOptions();\r\n      lookupNameEN.name = \"EditLookupNameEN\" + i;\r\n      lookupNameEN.hideLabel = true;\r\n      lookupNameEN.type = InputType.Text;\r\n      lookupNameEN.value = existingLookups[i].nameEN;\r\n      lookupNameEN.isRequired = true;\r\n      lookupNameEN.maxLength = 255;\r\n\r\n\r\n      let lookupNameAR = new TextBoxOptions();\r\n      lookupNameAR.name = \"EditLookupNameAR\" + i;\r\n      lookupNameAR.hideLabel = true;\r\n      lookupNameAR.type = InputType.Text;\r\n      lookupNameAR.value = existingLookups[i].nameAR;\r\n      lookupNameAR.isRequired = true;\r\n      lookupNameAR.forceDirection = ForceDirection.Arabic;\r\n      lookupNameAR.maxLength = 255;\r\n\r\n      let lookupValue = new TextBoxOptions();\r\n      lookupValue.name = \"EditLookupValue\" + i;\r\n      lookupValue.hideLabel = true;\r\n      lookupValue.type = InputType.Text;\r\n      lookupValue.value = existingLookups[i].value;\r\n      lookupValue.isRequired = true;\r\n      lookupValue.maxLength = 2000;\r\n\r\n      objectAttributeOptions.push(lookupID, lookupNameEN, lookupNameAR, lookupValue);\r\n      this.editWFVariablesLookupOptions.push(objectAttributeOptions);\r\n      this.editLastLookupIndex += 1;\r\n\r\n    }\r\n  }\r\n  addWFVariableLookupinEditMode() {\r\n    let result: any = this.initializeWFVariableLookupOptions(false);\r\n    this.editWFVariablesLookupOptions = this.editWFVariablesLookupOptions.concat(result[0]);\r\n    this.editLastLookupIndex = result[1];\r\n  }\r\n\r\n  //WF Activitities Functions\r\n  setActivityListResult(result) {\r\n    this.ActivityPagingResult = result;\r\n  }\r\n\r\n  initializeWorkflowActivity() {\r\n    // this.IsworkflowActivityFilterLoaded = false;\r\n    this.utilityService.startBlockUI();\r\n    this.WorkflowActivityIdTextBox = new TextBoxOptions();\r\n    this.WorkflowActivityIdTextBox.name = \"WorkflowActivityIdTextBox\";\r\n    this.WorkflowActivityIdTextBox.hideLabel = true;\r\n    this.WorkflowActivityIdTextBox.type = InputType.Text;\r\n    this.WorkflowActivityIdTextBox.value = this.WorkflowId;\r\n\r\n    this.WorkflowActivityIdFilter = new FilterItem();\r\n    this.WorkflowActivityIdFilter.formControlName = \"WorkflowActivityIdTextBox\";\r\n    this.WorkflowActivityIdFilter.actionParameterName = \"WfID\";\r\n    this.WorkflowActivityIdFilter.isFormControl = true;\r\n    this.WorkflowActivityIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.ActivityPaging = new PagingOptions();\r\n    this.ActivityPaging.actionPostURL = this.ActivityApiUrl + 'GetWorkflowActivityListing';\r\n    this.ActivityPaging.onKeyPressFiltersControlNames = [\"WorkflowActivityIdTextBox\"];\r\n    this.ActivityPaging.filters = [this.WorkflowActivityIdFilter];\r\n    this.ActivityPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.ShowWorkflowDetails = false;\r\n    this.IsFilterLoaded = false;\r\n    this.IsWorkflowVariableFilterLoaded = false;\r\n\r\n    setTimeout(() => {\r\n      this.IsworkflowActivityFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n\r\n    }, 10);\r\n\r\n    //this.workflowActivityService.Loaddropdowns().subscribe((result) => {\r\n    //  let ActivityList = result as any\r\n    //  this.ActivityTypeList = ActivityList\r\n\r\n\r\n    //})\r\n  }\r\n\r\n  //Add Activity WF variables\r\n  showAddWFVariablestoActivity(versionID: string, activityID: string, wfVariablesModal: any) {\r\n    this.utilityService.startBlockUI();\r\n    this.activityID = activityID;\r\n    this.activityWFVariableOptions = [];\r\n    this.lastActivityWFVariableIndex = 0;\r\n    this.workflowActivityService.getActivityWFVariables(versionID, activityID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let model = resultObj.model;\r\n      this.activityVariablesList = resultObj.activityVariablesList;\r\n\r\n      this.addWorkflowVariabletoActivityForm = new FormGroup({});\r\n      this.addWorkflowVariabletoActivityFormOptions = new FormOptions();\r\n      this.addWorkflowVariabletoActivityFormOptions.formGroup = this.addWorkflowVariabletoActivityForm;\r\n      this.addWorkflowVariabletoActivityFormOptions.getModelFunction = this.getaddWFVariabletoActivityModel;\r\n      this.addWorkflowVariabletoActivityFormOptions.serviceSubmitFunction = this.getaddWFVariabletoActivityFunction;\r\n      this.addWorkflowVariabletoActivityFormOptions.pagingReference = this.ActivityPagingViewElement;\r\n      this.addWorkflowVariabletoActivityFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      for (let i = 0; i < model.activityVariableDTOs.length; i++) {\r\n        let currentVariable = model.activityVariableDTOs[i];\r\n        let objectVariableOptions: any[] = [];\r\n\r\n        let isSystem: boolean = currentVariable.isSystem;\r\n\r\n        let variableIsSystem = new TextBoxOptions();//hidden\r\n        variableIsSystem.name = \"variableIsSystem\" + i;\r\n        variableIsSystem.hideLabel = true;\r\n        variableIsSystem.type = InputType.Text;\r\n        variableIsSystem.value = isSystem;\r\n\r\n        let variableIsEnabled = new CheckBoxOptions();\r\n        variableIsEnabled.name = \"variableIsEnabled\" + i;\r\n        variableIsEnabled.value = currentVariable.isEnabled;\r\n        variableIsEnabled.isDisabled = isSystem;\r\n\r\n        //hidden field\r\n        let variableIsEnabledHidden = new CheckBoxOptions();\r\n        variableIsEnabledHidden.name = \"variableIsEnabledHidden\" + i;\r\n        variableIsEnabledHidden.value = currentVariable.isEnabled;\r\n\r\n        let variableIsMandatory = new CheckBoxOptions();\r\n        variableIsMandatory.name = \"variableIsMandatory\" + i;\r\n        variableIsMandatory.value = currentVariable.isMandatory;\r\n        variableIsMandatory.isDisabled = isSystem;\r\n\r\n        //hidden field\r\n        let variableIsMandatoryHidden = new CheckBoxOptions();\r\n        variableIsMandatoryHidden.name = \"variableIsMandatoryHidden\" + i;\r\n        variableIsMandatoryHidden.value = currentVariable.isMandatory;\r\n\r\n        let variableIsVisible = new CheckBoxOptions();\r\n        variableIsVisible.name = \"variableIsVisible\" + i;\r\n        variableIsVisible.value = currentVariable.isVisible;\r\n        variableIsVisible.isDisabled = isSystem;\r\n\r\n        //hidden field\r\n        let variableIsVisibleHidden = new CheckBoxOptions();\r\n        variableIsVisibleHidden.name = \"variableIsVisibleHidden\" + i;\r\n        variableIsVisibleHidden.value = currentVariable.isVisible;\r\n\r\n        objectVariableOptions.push(variableIsSystem, variableIsEnabled, variableIsEnabledHidden, variableIsMandatory, variableIsMandatoryHidden,\r\n          variableIsVisible, variableIsVisibleHidden, isSystem);\r\n\r\n        if (isSystem) {\r\n          let variableName = new TextBoxOptions();\r\n          variableName.name = \"variableName\" + i;\r\n          variableName.hideLabel = true;\r\n          variableName.isDisabled = true;\r\n          variableName.type = InputType.Text;\r\n          variableName.value = currentVariable.variableName;\r\n\r\n          let variableID = new TextBoxOptions();//hidden\r\n          variableID.name = \"variableID\" + i;\r\n          variableID.hideLabel = true;\r\n          variableID.type = InputType.Text;\r\n          variableID.value = currentVariable.iD_GUID?.toLowerCase();\r\n\r\n          objectVariableOptions.push(variableName, variableID);\r\n\r\n        }\r\n        else {\r\n          let variableIDdropdown = new DropdownOptions();\r\n          variableIDdropdown.name = \"variableIDdropdown\";\r\n          variableIDdropdown.hideLabel = true;\r\n          variableIDdropdown.singleSelection = true;\r\n          variableIDdropdown.allowSearchFilter = true;\r\n          variableIDdropdown.isRequired = true;\r\n          variableIDdropdown.dataSource = this.activityVariablesList;\r\n          variableIDdropdown.selectedItems = currentVariable.iDGUID?.toLowerCase();\r\n\r\n          objectVariableOptions.push(variableIDdropdown);\r\n        }\r\n        this.activityWFVariableOptions.push(objectVariableOptions);\r\n        this.lastActivityWFVariableIndex += 1;\r\n\r\n      }\r\n      this.modalService.open(wfVariablesModal);\r\n      this.utilityService.stopBlockUI();\r\n\r\n    });\r\n  }\r\n  getaddWFVariabletoActivityModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addWorkflowVariabletoActivityForm.value;\r\n    let model = new WFActivityVariablesModel();\r\n    model.ActivityID_GUID = this.activityID;\r\n    for (let j = 0; j < this.lastActivityWFVariableIndex; j++) {\r\n      let variablesIsSystem = ResultModel[\"variableIsSystem\" + j];\r\n      if (variablesIsSystem == undefined)\r\n        continue;\r\n\r\n      let variableIsEnabled: boolean;\r\n      let variableIsMandatory: boolean;\r\n      let variableIsVisible: boolean;\r\n\r\n      let activityVariable: WFActivityVariableDTO = new WFActivityVariableDTO();\r\n\r\n      if (variablesIsSystem) {\r\n        let variableID = ResultModel[\"variableID\" + j];\r\n        activityVariable.ID_GUID = variableID;\r\n\r\n        variableIsEnabled = ResultModel[\"variableIsEnabledHidden\" + j];\r\n        variableIsMandatory = ResultModel[\"variableIsMandatoryHidden\" + j];\r\n        variableIsVisible = ResultModel[\"variableIsVisibleHidden\" + j];\r\n      }\r\n      else {\r\n        let variableID = ResultModel[\"variableIDdropdown\" + j];\r\n        activityVariable.ID_GUID = variableID;\r\n\r\n        variableIsEnabled = ResultModel[\"variableIsEnabled\" + j];\r\n        variableIsMandatory = ResultModel[\"variableIsMandatory\" + j];\r\n        variableIsVisible = ResultModel[\"variableIsVisible\" + j];\r\n      }\r\n      activityVariable.IsSystem = variablesIsSystem;\r\n      activityVariable.IsEnabled = variableIsEnabled;\r\n      activityVariable.IsMandatory = variableIsMandatory;\r\n      activityVariable.IsVisible = variableIsVisible;\r\n      model.activityVariableDTOs.push(activityVariable);\r\n    }\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n  getaddWFVariabletoActivityFunction = (variablesModel): Observable<any> => {\r\n    return this.workflowActivityService.addActivityWFVariables(variablesModel);\r\n  };\r\n  deleteActivityWFVariable(deletedVariable: any) {\r\n    let deletedVariableIndex: number = this.activityWFVariableOptions.indexOf(deletedVariable);\r\n    if (deletedVariableIndex !== -1) {\r\n      this.activityWFVariableOptions.splice(deletedVariableIndex, 1);\r\n      for (var i = 0; i < deletedVariable.length; i++) {\r\n        this.addWorkflowVariabletoActivityForm.removeControl(deletedVariable[i].Name);\r\n      }\r\n    }\r\n  }\r\n  addNewActivityWFVariable() {\r\n    let index = this.lastActivityWFVariableIndex;\r\n\r\n    let objectVariableOptions: any[] = [];\r\n\r\n    let variableIDdropdown = new DropdownOptions();\r\n    variableIDdropdown.name = \"variableIDdropdown\" + index;\r\n    variableIDdropdown.hideLabel = true;\r\n    variableIDdropdown.singleSelection = true;\r\n    variableIDdropdown.allowSearchFilter = true;\r\n    variableIDdropdown.isRequired = true;\r\n    variableIDdropdown.dataSource = this.activityVariablesList;\r\n\r\n    let isSystem: boolean = false;\r\n\r\n    let variableIsSystem = new TextBoxOptions();//hidden\r\n    variableIsSystem.name = \"variableIsSystem\" + index;\r\n    variableIsSystem.hideLabel = true;\r\n    variableIsSystem.type = InputType.Text;\r\n    variableIsSystem.value = isSystem;\r\n\r\n    let variableIsEnabled = new CheckBoxOptions();\r\n    variableIsEnabled.name = \"variableIsEnabled\" + index;\r\n    variableIsEnabled.value = false;\r\n\r\n    let variableIsEnabledHidden = new CheckBoxOptions();\r\n    variableIsEnabledHidden.name = \"variableIsEnabledHidden\" + index;\r\n    variableIsEnabledHidden.value = false;\r\n\r\n    let variableIsMandatory = new CheckBoxOptions();\r\n    variableIsMandatory.name = \"variableIsMandatory\" + index;\r\n    variableIsMandatory.value = false;\r\n\r\n    let variableIsMandatoryHidden = new CheckBoxOptions();\r\n    variableIsMandatoryHidden.name = \"variableIsMandatoryHidden\" + index;\r\n    variableIsMandatoryHidden.value = false;\r\n\r\n    let variableIsVisible = new CheckBoxOptions();\r\n    variableIsVisible.name = \"variableIsVisible\" + index;\r\n    variableIsVisible.value = false;\r\n\r\n    let variableIsVisibleHidden = new CheckBoxOptions();\r\n    variableIsVisibleHidden.name = \"variableIsVisibleHidden\" + index;\r\n    variableIsVisibleHidden.value = false;\r\n\r\n    objectVariableOptions.push(variableIsSystem, variableIsEnabled, variableIsEnabledHidden, variableIsMandatory, variableIsMandatoryHidden,\r\n      variableIsVisible, variableIsVisibleHidden, isSystem, variableIDdropdown);\r\n\r\n    this.activityWFVariableOptions.push(objectVariableOptions);\r\n    this.lastActivityWFVariableIndex += 1;\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-body\">\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder\">\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"getDetails()\">{{utilityService.getResourceValue(\"Details\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0  justify-content-end\">\r\n                <div class=\"card-toolbar\">\r\n                  <button type=\"button\" *ngIf=\"ShowWorkflowDetails&&!WorkflowDetails.isPublished\"\r\n                          id=\"btnPublish\" class=\"btn btn-sm btn-primary\" (click)=\"showPublishWFModal(WorkflowDetails.iD_GUID)\">\r\n                    {{utilityService.getResourceValue(\"PublishWorkflow\")}}\r\n\r\n                  </button>\r\n                  <!--<a class=\"btn btn-sm btn-light-primary\">\r\n                    {{utilityService.getResourceValue(\"Preview\")}}\r\n                  </a>-->\r\n\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <form [formGroup]=\"DetailsForm\" *ngIf=\"ShowWorkflowDetails\">\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-MultiLingualTextBox [options]=\"NameMultilingualTextBox\"\r\n                                                [group]=\"DetailsForm\">\r\n                      </BBSF-MultiLingualTextBox>\r\n                      <div class=\"col-md-12\">\r\n                        <BBSF-MultiLingualTextBox [options]=\"DescriptionMultilingualTextBox\"\r\n                                                  [group]=\"DetailsForm\">\r\n                        </BBSF-MultiLingualTextBox>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-TextBox [options]=\"SysName\"\r\n                                    [group]=\"DetailsForm\">\r\n                      </BBSF-TextBox>\r\n                    </div>\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"Active\"\r\n                                        [group]=\"DetailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"Published\"\r\n                                        [group]=\"DetailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                </form>\r\n\r\n\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n          </ng-template>\r\n          <!--Publish workflow confirmation-->\r\n          <BBSF-ConfirmationModal *ngIf=\"publishControlLoaded\" [options]=\"publishWFConfirmationOptions\" id=\"publishConfirmationModalControl\" #publishConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"initializeVersion()\">{{utilityService.getResourceValue(\"Versions\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n                  <form [formGroup]=\"WorkflowVersionForm\">\r\n                    <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"WorkflowVersionForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"WorkflowIdTextBox\"\r\n                                  [group]=\"WorkflowVersionForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::Permission list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Change\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Current\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Published\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CreationDate\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let version of WorkflowVersionPagingResult\">\r\n                        <td>\r\n                          <a href=\"javascript:void(0)\"\r\n                             [routerLink]=\"['/Admin/Workflows/VersionInfo',version.iD_GUID]\"\r\n                             routerLinkActive=\"router-link-active\"\r\n                             class=\"text-dark\">{{version.changeStr}}</a>\r\n                        </td>\r\n                        <td>{{version.isCurrent}}</td>\r\n                        <td>{{version.isPublished}}</td>\r\n                        <td>{{version.creationDate}}</td>\r\n                      </tr>\r\n                      <tr *ngIf=\"WorkflowVersionPagingResult.length == 0\">\r\n                        <td colspan=\"4\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::Permission list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowVersionListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n                             [options]=\"WorkflowVersionPaging\" [group]=\"WorkflowVersionForm\"\r\n                             #WorkflowVersionPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"initializeWorkflowVariables()\">{{utilityService.getResourceValue(\"WorkflowVariables\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\">\r\n                  <div class=\"filter-container text-dark\"\r\n                       *ngIf=\"IsWorkflowVariableFilterLoaded\">\r\n                    <form [formGroup]=\"WorkflowVariableForm\">\r\n                      <BBSF-TextBox [options]=\"WorkflowVariablesearchTextBox\"\r\n                                    [group]=\"WorkflowVariableForm\"></BBSF-TextBox>\r\n                      <BBSF-TextBox [options]=\"VerisonIdTextBox\"\r\n                                    [group]=\"WorkflowVariableForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                    </form>\r\n                  </div>\r\n                </div>\r\n                <div class=\"card-toolbar\">\r\n                  <button type=\"button\" title=\"Add\" class=\"btn btn-primary btn-sm\"\r\n                          (click)=\"showAddWorkflowVariableModal(AddWorkflowVariableModal)\">\r\n                    <i class=\" fa fa-plus\"></i> {{utilityService.getResourceValue(\"Add\")}}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::Permission list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"DataType\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"VariableType\")}}</th>\r\n                        <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n\r\n\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n                      <tr *ngFor=\"let WorkflowVariable of WorkflowVariablePagingResult\">\r\n\r\n                        <td>\r\n                          <a href=\"javascript:void(0)\" class=\"text-dark\">{{WorkflowVariable.nameStr}}</a>\r\n\r\n                        </td>\r\n\r\n                        <td>\r\n                          {{WorkflowVariable.sysName}}\r\n                        </td>\r\n                        <td>{{WorkflowVariable.dataTypeItem}}</td>\r\n                        <td>{{WorkflowVariable.variableTypeItem}}</td>\r\n\r\n                        <td>\r\n                          <a class=\"btn btn-sm btn-light-primary btn-icon\"\r\n                             (click)=\"showEditWorkflowVariableModal(WorkflowVariable.iD_GUID, EditWorkflowVariableModal)\">\r\n                            <i class=\"fa fa-edit\"\r\n                               aria-hidden=\"true\"></i>\r\n                          </a>\r\n\r\n                        </td>\r\n                      </tr>\r\n                      <tr *ngIf=\"WorkflowVariablePagingResult.length == 0\">\r\n                        <td colspan=\"5\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::Permission list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowVariableListResult($event)\"\r\n                             *ngIf=\"IsWorkflowVariableFilterLoaded\" [options]=\"WorkflowVariablePaging\"\r\n                             [group]=\"WorkflowVariableForm\" #WorkflowVariablePagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n            <!-- Add Modal -->\r\n            <ng-template #AddWorkflowVariableModal let-modal>\r\n              <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n                <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n                <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n                  <span class=\"svg-icon svg-icon-1\">\r\n                    <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n                  </span>\r\n                </button>\r\n              </div>\r\n              <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n                <div class=\"mb-13 text-center\">\r\n                  <h1 class=\"mb-3\">\r\n                    {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"WorkflowVariable\")}}\r\n                  </h1>\r\n                </div>\r\n\r\n                <BBSF-Form [options]=\"AddWorkflowVariableFormOptions\">\r\n\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-MultiLingualTextBox [options]=\"AddWFVariableName\" [group]=\"AddWorkflowVariableForm\"></BBSF-MultiLingualTextBox>\r\n\r\n                    </div>\r\n\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-TextBox [options]=\"AddWFVariableSysName\"\r\n                                    [group]=\"AddWorkflowVariableForm\">\r\n                      </BBSF-TextBox>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-DropdownList (OnChange)=\"WFVariableTypeOnChange($event,true)\" [options]=\"AddWFVariableDataType\"\r\n                                         [group]=\"AddWorkflowVariableForm\">\r\n                      </BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-Toggleslide [options]=\"AddWFVariableConstant\"\r\n                                        [group]=\"AddWorkflowVariableForm\">\r\n                      </BBSF-Toggleslide>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\" *ngIf=\"showAddLookupsTable\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"NameEN\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"NameAR\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n                            <th class=\"min-w-150px\"></th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let option of addWFVariablesLookupOptions;let i=index;\">\r\n\r\n                            <td>\r\n                              <BBSF-TextBox [options]=\"option[0]\" [group]=\"AddWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <BBSF-TextBox [options]=\"option[1]\" [group]=\"AddWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <BBSF-TextBox [options]=\"option[2]\" [group]=\"AddWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <a class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteWFVariableLookup(option,true)\">\r\n                                <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                              </a>\r\n                            </td>\r\n                          </tr>\r\n                          <tr>\r\n                            <td colspan=\"4\">\r\n                              <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addWFVariableLookupinAddMode()\">\r\n                                {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                              </button>\r\n                            </td>\r\n                          </tr>\r\n\r\n\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"text-center pt-7\">\r\n                    <button #CloseWorkflowVariableModal id=\"CloseWorkflowVariableModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n                            (click)=\"modal.dismiss()\">\r\n                      {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n                    </button>\r\n                    <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n                  </div>\r\n                </BBSF-Form>\r\n              </div>\r\n            </ng-template>\r\n\r\n            <!--Edit Modal-->\r\n            <ng-template #EditWorkflowVariableModal let-modal>\r\n              <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n                <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n                <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n                  <span class=\"svg-icon svg-icon-1\">\r\n                    <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n                  </span>\r\n                </button>\r\n              </div>\r\n              <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n                <div class=\"mb-13 text-center\">\r\n                  <h1 class=\"mb-3\">\r\n                    {{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"WorkflowVariable\")}}\r\n                  </h1>\r\n                </div>\r\n                <BBSF-Form [options]=\"EditWorkflowVariableFormOptions\">\r\n\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-MultiLingualTextBox [options]=\"EditWFVariableName\" [group]=\"EditWorkflowVariableForm\"></BBSF-MultiLingualTextBox>\r\n                    </div>\r\n\r\n                  </div>\r\n\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-TextBox [options]=\"EditWFVariableSysName\"\r\n                                    [group]=\"EditWorkflowVariableForm\">\r\n                      </BBSF-TextBox>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-DropdownList (OnChange)=\"WFVariableTypeOnChange($event,false)\" [options]=\"EditWFVariableDataType\"\r\n                                         [group]=\"EditWorkflowVariableForm\">\r\n                      </BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-Toggleslide [options]=\"EditWFVariableConstant\"\r\n                                        [group]=\"EditWorkflowVariableForm\">\r\n                      </BBSF-Toggleslide>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\" *ngIf=\"showEditLookupsTable\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"NameEN\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"NameAR\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Value\")}}</th>\r\n                            <th class=\"min-w-150px\"></th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let option of editWFVariablesLookupOptions;let i=index;\">\r\n\r\n                            <td>\r\n                              <BBSF-TextBox [hidden]=\"true\" [options]=\"option[0]\" [group]=\"EditWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                              <BBSF-TextBox [options]=\"option[1]\" [group]=\"EditWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <BBSF-TextBox [options]=\"option[2]\" [group]=\"EditWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <BBSF-TextBox [options]=\"option[3]\" [group]=\"EditWorkflowVariableForm\">\r\n                              </BBSF-TextBox>\r\n                            </td>\r\n                            <td>\r\n                              <a class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteWFVariableLookup(option,false)\">\r\n                                <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                              </a>\r\n                            </td>\r\n                          </tr>\r\n                          <tr>\r\n                            <td colspan=\"4\">\r\n                              <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addWFVariableLookupinEditMode()\">\r\n                                {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                              </button>\r\n                            </td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"text-center pt-7\">\r\n                    <button #CloseEditWorkflowVariableModal id=\"CloseEditWorkflowVariableModal\" type=\"button\"\r\n                            class=\"btn btn-light btn-sm  me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n                      {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n                    </button>\r\n                    <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n                  </div>\r\n                </BBSF-Form>\r\n              </div>\r\n            </ng-template>\r\n\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"initializeWorkflowActivity()\">\r\n            {{utilityService.getResourceValue(\"WorkflowActivities\")}}\r\n          </a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\">\r\n                  <div class=\"filter-container text-dark\"\r\n                       *ngIf=\"IsworkflowActivityFilterLoaded\">\r\n                    <form [formGroup]=\"workflowActivityForm\">\r\n                      <div id=\"filtersContainer\" data-isloaded=\"true\">\r\n                        <BBSF-TextBox [options]=\"WorkflowActivityIdTextBox\"\r\n                                      [group]=\"workflowActivityForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                      </div>\r\n                    </form>\r\n                  </div>\r\n                </div>\r\n                <div class=\"card-toolbar\">\r\n                  <button type=\"button\" title=\"Add\" class=\"btn btn-primary btn-sm\" [routerLink]=\"['/Admin/Workflows/AddActivity',VersionId]\">\r\n                    <i class=\"fa fa-plus\"></i> {{utilityService.getResourceValue(\"Add\")}}\r\n\r\n                  </button>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <div class=\"row\">\r\n                  <div class=\"col-lg-6 mb-8\" *ngFor=\"let workflowActivity of ActivityPagingResult\">\r\n                    <div class=\"card bg-light-dark rounded\">\r\n                      <div class=\"card-header border-0 pt-9\">\r\n                        <div class=\"card-title m-0 fs-2 text-primary\">\r\n                          {{workflowActivity.typeNameStr}}\r\n                        </div>\r\n                        <div class=\"card-toolbar\">\r\n                          <button type=\"button\" class=\"btn btn-primary btn-sm me-2 \" (click)=\"showAddWFVariablestoActivity(workflowActivity.versionID_GUID,workflowActivity.iD_GUID,wfActivityVariablesModal)\">\r\n                            <i class=\"fa fa-gear\" aria-hidden=\"true\">\r\n                            </i>\r\n                            {{utilityService.getResourceValue(\"WorkflowVariables\")}}\r\n                          </button>\r\n                          <button type=\"button\" id=\"btnAdd\" class=\"btn btn-light-primary btn-sm btn-icon me-2\" [routerLink]=\"['/Admin/Workflows/EditActivity',workflowActivity.iD_GUID]\">\r\n                            <i *ngIf=\"workflowActivity.isPublished\" class=\"fas fa-pen\"></i>\r\n                            <i *ngIf=\"!workflowActivity.isPublished\" class=\"fas fa-pen\" aria-hidden=\"true\"></i>\r\n                          </button>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"card-body p-9\">\r\n                        <div class=\"fs-6 fw-bolder text-dark\">{{utilityService.getResourceValue(\"WFOutcome\")}}</div>\r\n                        <div class=\"text-gray-400 fw-bold fs-5 mt-1 mb-7\">\r\n                          <ul class=\"list-unstyled\">\r\n\r\n                            <li>\r\n                              {{utilityService.getResourceValue(\"WorkflowVariables\")}}\r\n                              <ul id=\"horizontalmenu\">\r\n                                <li class=\"text-dark\" *ngFor=\"let item of workflowActivity.variables\">\r\n                                  <i class=\"fa fa-gear\"></i>\r\n                                  {{item.sysName}}\r\n\r\n                                </li>\r\n                              </ul>\r\n                            </li>\r\n\r\n                          </ul>\r\n                        </div>\r\n\r\n                        <div class=\" mb-5\">\r\n                          <div *ngFor=\"let item of workflowActivity.outcomes\">\r\n                            {{ item.nameEN }}: {{item.nextActvityName}}\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <!--end:: Card body-->\r\n\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setActivityListResult($event)\"\r\n                             *ngIf=\"IsworkflowActivityFilterLoaded\" [options]=\"ActivityPaging\"\r\n                             [group]=\"workflowActivityForm\" #ActivityPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n\r\n            <ng-template #wfActivityVariablesModal let-modal>\r\n              <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n                <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n                <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n                  <span class=\"svg-icon svg-icon-1\">\r\n                    <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n                  </span>\r\n                </button>\r\n              </div>\r\n              <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n                <div class=\"mb-13 text-center\">\r\n                  <h1 class=\"mb-3\">\r\n                    {{utilityService.getResourceValue(\"AddWorkflowVariables\")}}\r\n                  </h1>\r\n                </div>\r\n                <BBSF-Form [options]=\"addWorkflowVariabletoActivityFormOptions\">\r\n                  <div class=\"row\">\r\n                    <div class=\"table-responsive\">\r\n                      <!-- begin::Table -->\r\n                      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n                        <thead>\r\n                          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"WorkflowVariables\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Enabled\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Mandatory\")}}</th>\r\n                            <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Visible\")}}</th>\r\n                            <th class=\"min-w-150px\"></th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                          <tr *ngFor=\"let option of activityWFVariableOptions;let i=index;\">\r\n\r\n                            <td>\r\n                              <!--hidden is system-->\r\n                              <BBSF-TextBox [hidden]=\"true\" [options]=\"option[0]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-TextBox>\r\n\r\n                              <!--if is systm-->\r\n                              <div *ngIf=\"option[7];else variableNameDDL;\">\r\n                                <!--variavle name-->\r\n                                <BBSF-TextBox [options]=\"option[8]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                                </BBSF-TextBox>\r\n                                <!--hidden variable id-->\r\n                                <BBSF-TextBox [hidden]=\"true\" [options]=\"option[9]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                                </BBSF-TextBox>\r\n                              </div>\r\n                              <!--variavle name ddl-->\r\n                              <ng-template #variableNameDDL>\r\n                                <BBSF-DropdownList [options]=\"option[8]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                                </BBSF-DropdownList>\r\n                              </ng-template>\r\n                            </td>\r\n                            <td>\r\n                              <!--is enabled-->\r\n                              <BBSF-CheckBox [options]=\"option[1]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                              <BBSF-CheckBox [hidden]=\"true\" [options]=\"option[2]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                            </td>\r\n                            <td>\r\n                              <!--is mandatory-->\r\n                              <BBSF-CheckBox [options]=\"option[3]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                              <BBSF-CheckBox [hidden]=\"true\" [options]=\"option[4]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                            </td>\r\n                            <td>\r\n                              <!--is visible-->\r\n                              <BBSF-CheckBox [options]=\"option[5]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                              <BBSF-CheckBox [hidden]=\"true\" [options]=\"option[6]\" [group]=\"addWorkflowVariabletoActivityForm\">\r\n                              </BBSF-CheckBox>\r\n                            </td>\r\n                            <td>\r\n                              <!--if ! isSystem-->\r\n                              <a *ngIf=\"!option[7]\" class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteActivityWFVariable(option)\">\r\n                                <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                              </a>\r\n                            </td>\r\n                          </tr>\r\n                          <tr>\r\n                            <td colspan=\"5\">\r\n                              <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addNewActivityWFVariable()\">\r\n                                {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                              </button>\r\n                            </td>\r\n                          </tr>\r\n\r\n\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"text-center pt-7\">\r\n                    <button type=\"button\" class=\"btn btn-light btn-sm  me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n                      {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n                    </button>\r\n                    <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n                  </div>\r\n                </BBSF-Form>\r\n              </div>\r\n            </ng-template>\r\n\r\n          </ng-template>\r\n        </li>\r\n      </ul>\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { WFCreationModel } from \"../models/WorkflowModels/WFCreationModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WorkflowVersionService {\r\n  ApiUrl = \"/api/admin/WFVersion/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n  getDetails(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"vId\", id);\r\n    return this.http.get(this.ApiUrl + 'Details', params);\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnglishArabicDTO, FilterItem, FilterType, InputType, MultiLingualTextBoxOptions, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AuthService, BBSFTranslateService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { WorkflowVersionService } from '../../shared/Services/WorkFlowVersionService.service';\r\n\r\n@Component({\r\n    selector: 'lib-version-info',\r\n    templateUrl: './version-info.component.html',\r\n    standalone: false\r\n})\r\nexport class VersionInfoComponent implements OnInit {\r\n  // Details Controls\r\n  detailsForm = new FormGroup({});\r\n  versionDetails: any;\r\n  versionID: string;\r\n  versionName: MultiLingualTextBoxOptions;\r\n  versionIsCurrent: TextBoxOptions;\r\n  versionIsPublished: TextBoxOptions;\r\n  showVersionDetails: boolean = false;\r\n\r\n  //Start WorkFlow Instance\r\n  workFlowInstanceApiUrl = \"/api/admin/WFInstance/\";\r\n  workflowInstanceForm = new FormGroup({});\r\n  versionIdTextBox: TextBoxOptions;\r\n  versionIdFilter: FilterItem;\r\n  searchTextBox: TextBoxOptions;\r\n  textInputFilter: FilterItem;\r\n  WorkflowInstancePagingResult: any[] = [];\r\n  WorkflowInstancePaging: PagingOptions;\r\n  isFilterLoaded: boolean = false;\r\n  //End WorkFlow Instance\r\n\r\n  constructor(private authService: AuthService, private workFlowVersionService: WorkflowVersionService,\r\n    private activatedRoute: ActivatedRoute, private pageInfoService: PageInfoService, private bbsfTranslateService: BBSFTranslateService,\r\n    public utilityService: UtilityService, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.versionID = params['id'];\r\n\r\n    });\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.getDetails();\r\n\r\n  }\r\n  getDetails() {\r\n    this.showVersionDetails = false;\r\n    this.isFilterLoaded = false;\r\n\r\n    this.workFlowVersionService.getDetails(this.versionID).subscribe((result) => {\r\n      this.versionDetails = result as any;\r\n\r\n      var Name = new EnglishArabicDTO();\r\n      Name.arabic = this.versionDetails.change.arabic;\r\n      Name.english = this.versionDetails.change.english;\r\n\r\n      PageInfoService.PageTitle = this.versionDetails.changeStr;\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"WorkFlows\"), path: '/Admin/Workflows/workflow', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.versionDetails.workflowNameStr, path: `/Admin/Workflows/tabs/${this.versionDetails.workflowID}/${this.versionDetails.id}`, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n\r\n      this.versionName = new MultiLingualTextBoxOptions();\r\n      this.versionName.name = \"versionName\";\r\n      this.versionName.arabicLabelKey = \"NameInArabic\";\r\n      this.versionName.englishLabelKey = \"NameInEnglish\";\r\n      this.versionName.value = Name;\r\n      this.versionName.isDisabled = true;\r\n\r\n      this.versionIsCurrent = new TextBoxOptions();\r\n      this.versionIsCurrent.name = \"versionIsCurrent\";\r\n      this.versionIsCurrent.labelKey = \"Current\";\r\n      this.versionIsCurrent.type = InputType.Text;\r\n      this.versionIsCurrent.isDisabled = true;\r\n      this.versionIsCurrent.value = this.versionDetails.isCurrent;\r\n\r\n      this.versionIsPublished = new TextBoxOptions();\r\n      this.versionIsPublished.name = \"versionIsPublished\";\r\n      this.versionIsPublished.labelKey = \"Published\";\r\n      this.versionIsPublished.type = InputType.Text;\r\n      this.versionIsPublished.isDisabled = true;\r\n      this.versionIsPublished.value = this.versionDetails.isPublished;\r\n\r\n      this.isFilterLoaded = false;\r\n      this.showVersionDetails = true;\r\n      this.utilityService.stopBlockUI();\r\n\r\n    });\r\n  }\r\n\r\n  //WF Instance functions\r\n  initializeInstances() {\r\n    this.showVersionDetails = false;\r\n    this.isFilterLoaded = false;\r\n\r\n    this.utilityService.startBlockUI();\r\n    // TextBox inti\r\n\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.versionIdTextBox = new TextBoxOptions();\r\n    this.versionIdTextBox.name = \"versionIdTextBox\";\r\n    this.versionIdTextBox.hideLabel = true;\r\n    this.versionIdTextBox.type = InputType.Text;\r\n    this.versionIdTextBox.value = this.versionID;\r\n\r\n    this.versionIdFilter = new FilterItem();\r\n    this.versionIdFilter.formControlName = \"versionIdTextBox\";\r\n    this.versionIdFilter.actionParameterName = \"vID\";\r\n    this.versionIdFilter.isFormControl = true;\r\n    this.versionIdFilter.filterType = FilterType.TextBox;\r\n\r\n    this.WorkflowInstancePaging = new PagingOptions();\r\n    this.WorkflowInstancePaging.actionPostURL = this.workFlowInstanceApiUrl + 'GetInstancesListing';\r\n    this.WorkflowInstancePaging.onKeyPressFiltersControlNames = [\"searchTextBox\", \"versionIdTextBox\"];\r\n    this.WorkflowInstancePaging.filters = [this.textInputFilter, this.versionIdFilter];\r\n    this.WorkflowInstancePaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    setTimeout(() => {\r\n\r\n      this.isFilterLoaded = true;\r\n      this.utilityService.stopBlockUI();\r\n    }, 10);\r\n  }\r\n\r\n  setWorkflowInstancesListResult(result) {\r\n    this.utilityService.stopBlockUI();\r\n    this.WorkflowInstancePagingResult = result;\r\n\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-body\">\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder\">\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"getDetails()\">{{utilityService.getResourceValue(\"Details\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-body py-3 px-0\">\r\n                <form [formGroup]=\"detailsForm\" *ngIf=\"showVersionDetails\">\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-12\">\r\n                      <BBSF-MultiLingualTextBox [options]=\"versionName\"\r\n                                                [group]=\"detailsForm\">\r\n                      </BBSF-MultiLingualTextBox>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row\">\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"versionIsCurrent\"\r\n                                        [group]=\"detailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                    <div class=\"col-md-6\">\r\n                      <div class=\"form-group\">\r\n                        <div class=\"label-content\">\r\n                          <BBSF-TextBox [options]=\"versionIsPublished\"\r\n                                        [group]=\"detailsForm\">\r\n                          </BBSF-TextBox>\r\n                        </div>\r\n                      </div>\r\n\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                </form>\r\n\r\n\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item mt-2\">\r\n          <a ngbNavLink class=\"nav-link text-active-primary ms-0 me-10 py-5\" (click)=\"initializeInstances()\">{{utilityService.getResourceValue(\"Instances\")}}</a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"card\">\r\n              <div class=\"card-header border-0 pt-5 px-0\">\r\n                <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n                  <form [formGroup]=\"workflowInstanceForm\">\r\n                    <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"workflowInstanceForm\"></BBSF-TextBox>\r\n                    <BBSF-TextBox [options]=\"versionIdTextBox\"\r\n                                  [group]=\"workflowInstanceForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n                  </form>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-body py-3 px-0\">\r\n                <!--begin::Permission list-->\r\n                <div class=\"table-responsive\">\r\n                  <!-- begin::Table -->\r\n                  <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n                    <thead>\r\n                      <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ActivityName\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CreationDate\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"CreatedBy\")}}</th>\r\n                        <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Status\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n                      <tr *ngFor=\"let instance of WorkflowInstancePagingResult\">\r\n                        <td>\r\n                          <a href=\"javascript:void(0)\"\r\n                             [routerLink]=\"['/Admin/Workflows/InstanceInfo',instance.idEncrypted]\"\r\n                             routerLinkActive=\"router-link-active\"\r\n                             class=\"text-dark\">{{instance.nameStr}}</a>\r\n                        </td>\r\n                        <td>{{instance.currentActivity}}</td>\r\n                        <td>{{instance.creationDate}}</td>\r\n                        <td>{{instance.createdBy}}</td>\r\n                        <td>{{instance.instanceStatus}}</td>\r\n                      </tr>\r\n                      <tr *ngIf=\"WorkflowInstancePagingResult.length == 0\">\r\n                        <td colspan=\"5\">\r\n                          <lib-empty-data></lib-empty-data>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n                <!--end::Permission list-->\r\n              </div>\r\n              <div class=\"card-footer border-0\">\r\n                <BBSF-Paging (Items)=\"setWorkflowInstancesListResult($event)\" *ngIf=\"isFilterLoaded\"\r\n                             [options]=\"WorkflowInstancePaging\" [group]=\"workflowInstanceForm\"\r\n                             #workflowVersionPagingViewElement>\r\n                </BBSF-Paging>\r\n              </div>\r\n              <!--end:: Widgets/Applications/User/Profile3-->\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n\r\n\r\n      </ul>\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-workflows',\r\n    templateUrl: './workflows.component.html',\r\n    standalone: false\r\n})\r\nexport class WorkflowsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { WorkflowActivityAddComponent } from './activity/workflow-activity-add/workflow-activity-add.component';\r\nimport { WorkflowActivityEditComponent } from './activity/workflow-activity-edit/workflow-activity-edit.component';\r\nimport { InstanceInfoComponent } from './instance-info/instance-info.component';\r\nimport { TabsComponent } from './tabs/tabs.component';\r\nimport { VersionInfoComponent } from './version-info/version-info.component';\r\nimport { WorkflowComponent } from './workflow/workflow.component';\r\nimport { WorkflowsComponent } from './workflows.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {path :\"\",component:WorkflowsComponent ,children:[\r\n  {path:\"workflow\",component:WorkflowComponent},\r\n    { path: \"tabs/:id/:vid\", component: TabsComponent },\r\n    { path: \"VersionInfo/:id\", component: VersionInfoComponent },\r\n    { path: \"InstanceInfo/:id\", component: InstanceInfoComponent },\r\n    { path: \"AddActivity/:vid\", component: WorkflowActivityAddComponent },\r\n    { path: \"EditActivity/:activityid\", component: WorkflowActivityEditComponent },\r\n   {path:\"\", redirectTo: 'workflow', pathMatch: 'full'}\r\n  ]}\r\n  \r\n ];\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class WorkflowsRoutingModule { }\r\n","import { ErrorHandler, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WorkflowComponent } from './workflow/workflow.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\nimport { HttpErrorInterceptor } from '../shared/Services/HttpErrorInterceptor.service';\r\nimport { ErrorService } from '../shared/Services/ErrorService.service';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { WorkflowsRoutingModule } from './workflows-routing.module';\r\nimport { TabsComponent } from './tabs/tabs.component';\r\nimport { WorkflowsComponent } from './workflows.component';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { WorkflowService } from '../shared/Services/WorkflowService.service';\r\nimport { VersionInfoComponent } from './version-info/version-info.component';\r\nimport { InstanceInfoComponent } from './instance-info/instance-info.component';\r\nimport { WorkflowActivityAddComponent } from './activity/workflow-activity-add/workflow-activity-add.component';\r\nimport { WorkflowActivityEditComponent } from './activity/workflow-activity-edit/workflow-activity-edit.component';\r\n\r\n@NgModule({\r\n  declarations: [WorkflowComponent, TabsComponent, WorkflowsComponent, VersionInfoComponent, InstanceInfoComponent, WorkflowActivityAddComponent, WorkflowActivityEditComponent],\r\n  imports: [\r\n    WorkflowsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    WorkflowService\r\n\r\n  ]\r\n})\r\nexport class WorkflowsModule { }\r\n","import { EnglishArabicDTO, FileDTO } from \"@bnsights/bbsf-controls\";\r\nexport class PublicHolidayModel {\r\n  ID_GUID: string;\r\n  SysName: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  IsActive: boolean;\r\n  Day: number;\r\n  Month: number;\r\n  CountryID_GUID: string;\r\n  CountryName: string;\r\n  Date: string;\r\n  ImageFileID?: number;\r\n  ImageFileDTO: FileDTO;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { UsersIDRequestModel } from \"../models/UserModels/UsersIDRequestModel\";\r\nimport { PublicHolidayModel } from \"../models/PublicHolidayModels/PublicHolidayModel\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PublicHolidayService {\r\n  ApiUrl = \"/api/admin/PublicHoliday/\";\r\n\r\n  constructor(private http: RequestHandlerService) { }\r\n\r\n  AddPublicHoliday(AddModel: PublicHolidayModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddPublicHoliday', AddModel);\r\n  }\r\n  GetEditPublicHolidayData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditPublicHoliday', params);\r\n\r\n  }\r\n  EditPublicHoliday(EditModel: PublicHolidayModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditPublicHoliday', EditModel);\r\n  }\r\n  DeletePublicHoliday(id: string) {\r\n\r\n    return this.http.post(this.ApiUrl + 'DeletePublicHoliday', JSON.stringify(id));\r\n  }\r\n\r\n  GenerateUAEPublicHoliday() {\r\n\r\n    return this.http.get(this.ApiUrl + 'GenerateUAEPublicHoliday',);\r\n  }\r\n\r\n  Loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n  }\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingActionMode, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PublicHolidayService } from '../../shared/Services/PublicHolidayService.service';\r\nimport { PublicHolidayModel } from '../../shared/models/PublicHolidayModels/PublicHolidayModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-public-holiday',\r\n    templateUrl: './public-holiday.component.html',\r\n    standalone: false\r\n})\r\nexport class PublicHolidayComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/PublicHoliday/\";\r\n  ProductionMode: boolean;\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  CountriesList = [];\r\n  MonthsList = [];\r\n  DaysList = [];\r\n  PublicHolidayForm = new FormGroup({});\r\n  PublicHolidayPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  PublicHolidayPaging: PagingOptions;\r\n  TextInputFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('PublicHolidayPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  AddPublicHolidayForm = new FormGroup({});\r\n  AddPublicHolidayFormOptions = new FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddCountryOptions: DropdownOptions;\r\n  AddMonthOptions: DropdownOptions;\r\n  AddDayOptions: DropdownOptions;\r\n  AddSysName: TextBoxOptions;\r\n  AddIsActive: CheckBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  EditPublicHolidayForm = new FormGroup({});\r\n  EditPublicHolidayFormOptions = new FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditCountryOptions: DropdownOptions;\r\n  EditMonthOptions: DropdownOptions;\r\n  EditDayOptions: DropdownOptions;\r\n  EditSysName: TextBoxOptions;\r\n  EditIsActive: CheckBoxOptions;\r\n  PublicHolidayId: string;\r\n\r\n  //delete  Model Controls\r\n  deletePublicHolidayId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor(private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private authService: AuthService, private PublicHolidayService: PublicHolidayService,\r\n    private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"PublicHolidays\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ShowPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //initialize filters and paging\r\n  initializePage() {\r\n    // TextBox inti\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.PublicHolidayPaging = new PagingOptions();\r\n    this.PublicHolidayPaging.actionPostURL = this.ApiUrl + 'GetPublicHolidaysByFilter';\r\n    this.PublicHolidayPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.PublicHolidayPaging.filters = [this.TextInputFilter];\r\n    this.PublicHolidayPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  //Paging functions\r\n  setPublicHolidayListResult(result) {\r\n    this.PublicHolidayPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.PublicHolidayPagingResult.filter(\r\n        function (item) {\r\n          return (item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.PublicHolidayPagingResult;\r\n  }\r\n\r\n  //Add Public Holiday\r\n  showAddPublicHolidayModal(addPublicHolidayModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.PublicHolidayService.Loaddropdowns().subscribe((result) => {\r\n      let DropdownLists = result as any;\r\n      this.CountriesList = DropdownLists.countries;\r\n      this.MonthsList = DropdownLists.months;\r\n      this.DaysList = DropdownLists.days;\r\n\r\n\r\n      this.AddPublicHolidayForm = new FormGroup({});\r\n      this.AddPublicHolidayFormOptions = new FormOptions();\r\n      this.AddPublicHolidayFormOptions.formGroup = this.AddPublicHolidayForm;\r\n      this.AddPublicHolidayFormOptions.getModelFunction = this.getAddPublicHolidayModel;\r\n      this.AddPublicHolidayFormOptions.serviceSubmitFunction = this.getAddPublicHolidayFunction;\r\n      this.AddPublicHolidayFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddName = new MultiLingualTextBoxOptions();\r\n      this.AddName.name = \"Name\";\r\n      this.AddName.arabicLabelKey = \"NameInArabic\";\r\n      this.AddName.englishLabelKey = \"NameInEnglish\";\r\n      this.AddName.isRequired = true;\r\n      this.AddName.maxLength = 100;\r\n\r\n      this.AddDescription = new MultiLingualTextAreaOptions();\r\n      this.AddDescription.name = \"Description\";\r\n      this.AddDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.AddDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.AddDescription.isRequired = true;\r\n      this.AddDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n      this.AddDescription.maxLength = 2000;\r\n\r\n      this.AddSysName = new TextBoxOptions();\r\n      this.AddSysName.name = \"SysName\";\r\n      this.AddSysName.labelKey = \"SysName\";\r\n      this.AddSysName.type = InputType.Text;\r\n      this.AddSysName.value = null;\r\n      this.AddSysName.isRequired = true;\r\n      this.AddSysName.maxLength = 100;\r\n\r\n\r\n      this.AddCountryOptions = new DropdownOptions();\r\n      this.AddCountryOptions.name = \"CountryID_GUID\";\r\n      this.AddCountryOptions.labelKey = \"Country\";\r\n      this.AddCountryOptions.dataSource = this.CountriesList;\r\n      this.AddCountryOptions.singleSelection = true;\r\n      this.AddCountryOptions.allowSearchFilter = true;\r\n      this.AddCountryOptions.placeholder = \"\";\r\n      this.AddCountryOptions.isRequired = true;\r\n\r\n      //Months init\r\n      this.AddMonthOptions = new DropdownOptions();\r\n      this.AddMonthOptions.name = \"Month\";\r\n      this.AddMonthOptions.labelKey = \"Month\";\r\n      this.AddMonthOptions.dataSource = this.MonthsList;\r\n      this.AddMonthOptions.singleSelection = true;\r\n      this.AddMonthOptions.allowSearchFilter = true;\r\n      this.AddMonthOptions.placeholder = \"\";\r\n      this.AddMonthOptions.isRequired = true;\r\n\r\n      //Days init\r\n      this.AddDayOptions = new DropdownOptions();\r\n      this.AddDayOptions.name = \"Day\";\r\n      this.AddDayOptions.labelKey = \"Day\";\r\n      this.AddDayOptions.dataSource = this.DaysList;\r\n      this.AddDayOptions.singleSelection = true;\r\n      this.AddDayOptions.allowSearchFilter = true;\r\n      this.AddDayOptions.placeholder = \"\";\r\n      this.AddDayOptions.isRequired = true;\r\n\r\n      this.AddIsActive = new CheckBoxOptions();\r\n      this.AddIsActive.name = \"IsActive\";\r\n      this.AddIsActive.labelKey = \"Active\";\r\n      this.AddIsActive.value = false;\r\n\r\n      this.modalService.open(addPublicHolidayModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n  getAddPublicHolidayModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddPublicHolidayForm.value as any;\r\n    let AddModel: PublicHolidayModel = new PublicHolidayModel();\r\n    if (!this.ProductionMode)\r\n      AddModel.SysName = ResultModel.SysName;\r\n\r\n    AddModel.Name.arabic = ResultModel.Name.Arabic;\r\n    AddModel.Name.english = ResultModel.Name.English;\r\n    AddModel.Description.arabic = ResultModel.Description.Arabic;\r\n    AddModel.Description.english = ResultModel.Description.English;\r\n    AddModel.CountryID_GUID = ResultModel.CountryID_GUID;\r\n    AddModel.IsActive = ResultModel.IsActive;\r\n    AddModel.Day = ResultModel.Day != null ? Number(ResultModel.Day) : 0;\r\n    AddModel.Month = ResultModel.Month != null ? Number(ResultModel.Month) : 0;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddPublicHolidayFunction = (AddModel): Observable<any> => {\r\n    return this.PublicHolidayService.AddPublicHoliday(AddModel);\r\n  };\r\n\r\n  //Edit Public Holiday\r\n  showEditPublicHolidayModal(publicHolidayID: string, editPublicHolidayModal) {\r\n    this.PublicHolidayId = publicHolidayID;\r\n    this.PublicHolidayService.GetEditPublicHolidayData(publicHolidayID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let publicHoliday = resultObj.model;\r\n      let lists = resultObj.lists;\r\n\r\n      this.CountriesList = lists.countries;\r\n      this.MonthsList = lists.months;\r\n      this.DaysList = lists.days;\r\n\r\n      this.EditPublicHolidayForm = new FormGroup({});\r\n      this.EditPublicHolidayFormOptions = new FormOptions();\r\n      this.EditPublicHolidayFormOptions.formGroup = this.EditPublicHolidayForm;\r\n      this.EditPublicHolidayFormOptions.getModelFunction = this.getEditPublicHolidayModel;\r\n      this.EditPublicHolidayFormOptions.serviceSubmitFunction = this.getEditPublicHolidayFunction;\r\n      this.EditPublicHolidayFormOptions.pagingReference = this.pagingElement;\r\n      this.EditPublicHolidayFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = publicHoliday.name.arabic;\r\n      Name.english = publicHoliday.name.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"Name\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = Name;\r\n      this.EditName.maxLength = 100;\r\n\r\n      this.EditSysName = new TextBoxOptions();\r\n      this.EditSysName.name = \"SysName\";\r\n      this.EditSysName.labelKey = \"SysName\";\r\n      this.EditSysName.type = InputType.Text;\r\n      this.EditSysName.value = publicHoliday.sysName;\r\n      this.EditSysName.isRequired = true;\r\n      this.EditSysName.maxLength = 100;\r\n\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = publicHoliday.description.arabic;\r\n      description.english = publicHoliday.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = description;\r\n      this.EditDescription.isRequired = true;\r\n      this.EditDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n      this.EditDescription.maxLength = 2000;\r\n\r\n      this.EditCountryOptions = new DropdownOptions();\r\n      this.EditCountryOptions.name = \"CountryID_GUID\";\r\n      this.EditCountryOptions.labelKey = \"Country\";\r\n      this.EditCountryOptions.dataSource = this.CountriesList;\r\n      this.EditCountryOptions.singleSelection = true;\r\n      this.EditCountryOptions.allowSearchFilter = true;\r\n      this.EditCountryOptions.placeholder = \"\";\r\n      this.EditCountryOptions.selectedItems = publicHoliday.countryID_GUID?.toLowerCase();\r\n\r\n      //Months init\r\n      this.EditMonthOptions = new DropdownOptions();\r\n      this.EditMonthOptions.name = \"Month\";\r\n      this.EditMonthOptions.labelKey = \"Month\";\r\n      this.EditMonthOptions.dataSource = this.MonthsList;\r\n      this.EditMonthOptions.singleSelection = true;\r\n      this.EditMonthOptions.allowSearchFilter = true;\r\n      this.EditMonthOptions.placeholder = \"\";\r\n      this.EditMonthOptions.isRequired = true;\r\n      this.EditMonthOptions.selectedItems = this.MonthsList.filter((item) => { return parseInt(item.key) == publicHoliday.month; }).map((item) => item.key)[0];;\r\n\r\n      //Days init\r\n      this.EditDayOptions = new DropdownOptions();\r\n      this.EditDayOptions.name = \"Day\";\r\n      this.EditDayOptions.labelKey = \"Day\";\r\n      this.EditDayOptions.dataSource = this.DaysList;\r\n      this.EditDayOptions.singleSelection = true;\r\n      this.EditDayOptions.allowSearchFilter = true;\r\n      this.EditDayOptions.placeholder = \"\";\r\n      this.EditDayOptions.isRequired = true;\r\n      this.EditDayOptions.selectedItems = this.DaysList.filter((item) => { return parseInt(item.key) == publicHoliday.day; }).map((item) => item.key)[0];;\r\n\r\n      this.EditIsActive = new CheckBoxOptions();\r\n      this.EditIsActive.name = \"IsActive\";\r\n      this.EditIsActive.labelKey = \"Active\";\r\n      this.EditIsActive.value = publicHoliday.isActive;\r\n\r\n      this.modalService.open(editPublicHolidayModal);\r\n\r\n    });\r\n  }\r\n  getEditPublicHolidayModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditPublicHolidayForm.value as any;\r\n    let EditModel = new PublicHolidayModel();\r\n    EditModel.ID_GUID = this.PublicHolidayId;\r\n    EditModel.Name.arabic = ResultModel.Name.Arabic;\r\n    EditModel.Name.english = ResultModel.Name.English;\r\n    if (!this.ProductionMode)\r\n      EditModel.SysName = ResultModel.SysName;\r\n\r\n    EditModel.Description.english = ResultModel.Description.English;\r\n    EditModel.Description.arabic = ResultModel.Description.Arabic;\r\n    EditModel.IsActive = ResultModel.IsActive;\r\n    EditModel.CountryID_GUID = ResultModel.CountryID_GUID;\r\n    EditModel.Day = ResultModel.Day != null ? Number(ResultModel.Day) : 0;\r\n    EditModel.Month = ResultModel.Month != null ? Number(ResultModel.Month) : 0;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditPublicHolidayFunction = (EditModel): Observable<any> => {\r\n    return this.PublicHolidayService.EditPublicHoliday(EditModel);\r\n  };\r\n\r\n  //Delete Public Holiday\r\n  showDeletePublicHolidayModal(publicHolidayIdEnc: any) {\r\n    this.deletePublicHolidayId = publicHolidayIdEnc;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletePublicHolidayId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deletePublicHoliday;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deletePublicHoliday = (id: string): Observable<any> => {\r\n    return this.PublicHolidayService.DeletePublicHoliday(id);\r\n  };\r\n\r\n  //Generate UAE Public Holiday\r\n  showGenerateUAEPublicHolidayModal(GenerateUAEPublicHolidaysModal) {\r\n    this.modalService.open(GenerateUAEPublicHolidaysModal);\r\n  }\r\n  generateUAEPublicHoliday() {\r\n    this.PublicHolidayService.GenerateUAEPublicHoliday().subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      let element = this.pagingElement as any;\r\n      element.ReinitializePaging();\r\n    }, (error) => {\r\n\r\n    });\r\n\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"PublicHolidayForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"PublicHolidayForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary me-3\"\r\n          (click)=\"showAddPublicHolidayModal(AddPublicHolidayModal)\">\r\n          <i class=\"me-1 fas fa-plus\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n        <button type=\"button\" title=\"{{utilityService.getResourceValue('PublicHolidaysCreateUAE')}}\"\r\n          class=\"btn btn-sm btn-light-primary me-3 \"\r\n          (click)=\"showGenerateUAEPublicHolidayModal(GenerateUAEPublicHolidaysModal)\">\r\n          <i class=\"me-1 fa fa-calendar-alt\"></i>\r\n          {{utilityService.getResourceValue('PublicHolidaysCreateUAE')}}\r\n        </button>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!-- begin::Table -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Country\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Date\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Status\")}}</th>\r\n              <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let PublicHoliday of clientSidePagingResult\">\r\n              <td>\r\n                <div class=\"text-dark\">{{PublicHoliday.nameStr}}</div>\r\n              </td>\r\n              <td>{{PublicHoliday.countryName}}</td>\r\n              <td>{{PublicHoliday.date}}</td>\r\n              <td>\r\n                <span class=\"badge badge-light-primary\" *ngIf=\"PublicHoliday.isActive;else other_content\">\r\n                  {{utilityService.getResourceValue(\"Active\")}}\r\n                </span>\r\n                <ng-template #other_content>\r\n                  <span class=\"badge badge-light-danger\">\r\n                    {{utilityService.getResourceValue(\"Inactive\")}}\r\n                  </span>\r\n                </ng-template>\r\n              </td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditPublicHolidayModal(PublicHoliday.iD_GUID, EditPublicHolidayModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showDeletePublicHolidayModal(PublicHoliday.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"5\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::Permission list-->\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setPublicHolidayListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"PublicHolidayPaging\"\r\n        [group]=\"PublicHolidayForm\" #PublicHolidayPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n<!--add Modal-->\r\n<ng-template #AddPublicHolidayModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"PublicHoliday\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddPublicHolidayFormOptions\">\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddPublicHolidayForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddPublicHolidayForm\"></BBSF-MultiLingualTextBox>\r\n\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\"\r\n            [group]=\"AddPublicHolidayForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddCountryOptions\" [group]=\"AddPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddDayOptions\" [group]=\"AddPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddMonthOptions\" [group]=\"AddPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsActive\" [group]=\"AddPublicHolidayForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #ClosePublicHolidayModal id=\"ClosePublicHolidayModal\" type=\"button\" class=\"btn btn-light btn-sm me-3 \"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n<!--edit Modal-->\r\n<ng-template #EditPublicHolidayModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"PublicHoliday\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditPublicHolidayFormOptions\">\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditPublicHolidayForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditPublicHolidayForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\"\r\n            [group]=\"EditPublicHolidayForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditCountryOptions\" [group]=\"EditPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditDayOptions\" [group]=\"EditPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditMonthOptions\" [group]=\"EditPublicHolidayForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsActive\" [group]=\"EditPublicHolidayForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditPublicHolidayModal id=\"CloseEditPublicHolidayModal\" type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n\r\n      </div>\r\n    </BBSF-Form>\r\n\r\n  </div>\r\n</ng-template>\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!-- Generate UAE public holidays  Modal -->\r\n<ng-template #GenerateUAEPublicHolidaysModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">\r\n        {{utilityService.getResourceValue(\"PublicHolidaysCreateUAEConfirmation\")}}\r\n      </h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-danger rounded border-danger border border-dashed mb-10 p-6\">\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{utilityService.getResourceValue(\"PublicHolidaysCreateUAEConfirmation\")}}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button #CloseGeneratePublicHolidayModal id=\"CloseGeneratePublicHolidayModal\" type=\"button\"\r\n        class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n        {{utilityService.getResourceValue(\"No\")}}\r\n      </button>\r\n      <button type=\"button\" (click)=\"generateUAEPublicHoliday()\" class=\"btn btn-primary btn-sm \">\r\n        {{utilityService.getResourceValue(\"Yes\")}}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-public-holidays',\r\n    templateUrl: './public-holidays.component.html',\r\n    standalone: false\r\n})\r\nexport class PublicHolidaysComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PublicHolidayComponent } from './public-holiday/public-holiday.component';\r\nimport { PublicHolidaysComponent } from './public-holidays.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {path :\"\",component:PublicHolidaysComponent ,children:[\r\n   {path:\"PublicHolidays\",component:PublicHolidayComponent},\r\n   {path:\"\", redirectTo: 'PublicHolidays', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class PublicHolidaysRoutingModule { }\r\n","import { PublicHolidayComponent } from './public-holiday/public-holiday.component';\r\nimport { PublicHolidaysComponent } from './public-holidays.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { PublicHolidaysRoutingModule } from './public-holidays-routing.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { PublicHolidayService } from '../shared/Services/PublicHolidayService.service';\r\n\r\n@NgModule({\r\n  declarations: [PublicHolidayComponent, PublicHolidaysComponent],\r\n  imports: [\r\n    PublicHolidaysRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    PublicHolidayService\r\n  ]\r\n})\r\nexport class PublicHolidaysModule { }\r\n","import { EnglishArabicDTO, FileDTO } from \"@bnsights/bbsf-controls\";\r\nexport class HelpCenterItemModel {\r\n  ID_GUID: string;\r\n  Title: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Html: EnglishArabicDTO = new EnglishArabicDTO();\r\n  IsHidden: boolean;\r\n  IsParent: boolean;\r\n  IsSection: boolean;\r\n  LogoFileID?: number;\r\n  LogoFileDTO: FileDTO;\r\n  Permissions: EnglishArabicDTO[] = [];\r\n  PermissionSetIDs: string[] = [];\r\n  PermissionsStr: string;\r\n  ParentID_GUID: string;\r\n  Children: HelpCenterItemModel[] = [];\r\n  OrganizationID_GUID: string;\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n// import { environmentService } from \"./environmentsService.Service\";\r\nimport { HelpCenterItemModel } from \"../models/HelpCenterModels/HelpCenterItemModel\";\r\nimport { RequestHandlerService, AuthService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class HelpCenterService {\r\n  ApiUrl = \"/api/admin/HelpCenter/\";\r\n\r\n  constructor(private http: RequestHandlerService) { }\r\n\r\n  loadAddDropdowns(organizationID:string=null) {\r\n    let params = organizationID ? `?organizationID=${organizationID}` : '';\r\n    return this.http.get(this.ApiUrl + 'AddHelpCenterItem'+params);\r\n  }\r\n  Loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n  }\r\n  AddHelpCenter(AddModel: HelpCenterItemModel) {\r\n    return this.http.post(this.ApiUrl + 'AddHelpCenterItem', AddModel);\r\n  }\r\n  getEditHelpCenterData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditHelpCenter', params);\r\n\r\n  }\r\n  EditHelpCenter(EditModel: HelpCenterItemModel) {\r\n    return this.http.post(this.ApiUrl + 'EditHelpCenter', EditModel);\r\n  }\r\n  DeleteHelpCenter(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteHelpCenter', JSON.stringify(id));\r\n  }\r\n\r\n  GetHelpCenterLevel(ParentId: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"parentID\", ParentId);\r\n    return this.http.post(this.ApiUrl + 'GetHelpCenterItemsByFilter', null, null, params);\r\n  }\r\n\r\n  GenerateCode() {\r\n\r\n    return this.http.get(this.ApiUrl + 'GenerateCode');\r\n  }\r\n  GetAll() {\r\n    return this.http.get(this.ApiUrl + 'Preview', null);\r\n  }\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n  CheckBoxOptions, ControlLayout, DropdownOptions, FilterItem, FilterType,\r\n  InputType, PagingOptions, TextAreaOptions, IconPosition, TextBoxOptions, ImageUploadOptions, ImageType, MultiLingualTextBoxOptions, MultiLingualTextAreaOptions,\r\n  EnglishArabicDTO, FormOptions, ConfirmationModalOptions, PagingActionMode, PagingComponent, ConfirmationModalComponent,\r\n  DropdownListComponent,\r\n  PermissionSets\r\n} from '@bnsights/bbsf-controls';\r\nimport { HelpCenterService } from '../../shared/Services/HelpCenterService.service';\r\nimport { HelpCenterItemModel } from '../../shared/models/HelpCenterModels/HelpCenterItemModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, RequestHandlerService, EnvironmentService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { Constants } from '../../shared';\r\n\r\n@Component({\r\n    selector: 'lib-help-center',\r\n    templateUrl: './help-center.component.html',\r\n    standalone: false\r\n})\r\nexport class HelpCenterComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/HelpCenter/\";\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  HelpCenterForm = new FormGroup({});\r\n  HelpCenterPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  HelpCenterPaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n  @ViewChild('HelpCenterPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  PermissionSetsList = [];\r\n\r\n  //Add Model Controls\r\n  AddHelpCenterForm = new FormGroup({});\r\n  AddHelpCenterFormOptions = new FormOptions;\r\n  AddTitle: MultiLingualTextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddPermissionSetsOptions: DropdownOptions;\r\n  AddIsHidden: CheckBoxOptions;\r\n  AddLogo: ImageUploadOptions;\r\n\r\n  //Edit Model Controls\r\n  EditHelpCenterForm = new FormGroup({});\r\n  EditHelpCenterFormOptions = new FormOptions;\r\n  EditTitle: MultiLingualTextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditPermissionSetsOptions: DropdownOptions;\r\n  EditIsHidden: CheckBoxOptions;\r\n  EditLogo: ImageUploadOptions;\r\n  EditLogoFileID: number;\r\n  HelpCenterItemId: string;\r\n\r\n  //delete  Model Controls\r\n  deleteHelpCenterId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //Generate code modal\r\n  GenerateCodeForm = new FormGroup({});\r\n  GeneratedCodeOptions: TextAreaOptions;\r\n\r\n   //multi tenant\r\n   adminWithMultitenanEnabled:boolean;\r\n   organizationOptions: DropdownOptions;\r\n   organizationsFilter: FilterItem;\r\n   currentUserProfile: any;\r\n   permissionSets = PermissionSets;\r\n   addOrganizations:DropdownOptions;\r\n   editOrganizations:DropdownOptions;\r\n   addEditOrganizationsList=[];\r\n   @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n   \r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private HelpCenterService: HelpCenterService, private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService,private environmentService: EnvironmentService) {\r\n      this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n      let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n      this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"HelpCenter\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ShowPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize Page\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.HelpCenterPaging = new PagingOptions();\r\n    this.HelpCenterPaging.actionPostURL = this.ApiUrl + 'GetHelpCenterItemsByFilter';\r\n    this.HelpCenterPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.HelpCenterPaging.filters = [this.TextInputFilter];\r\n    this.HelpCenterPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.HelpCenterPaging.filters = this.HelpCenterPaging.filters ?? [];\r\n      this.HelpCenterPaging.dropdownFiltersControlNames = this.HelpCenterPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.HelpCenterPaging.resetFilterButtonName=\"helpCeneterFiltersBtn\";\r\n      this.HelpCenterPaging.filters.push(this.organizationsFilter);\r\n      this.HelpCenterPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n    \r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n    //Load filters lists\r\n    loadLists() {\r\n      if (!this.IsFilterDataLoaded) {\r\n        this.HelpCenterService.Loaddropdowns().subscribe((result) => {\r\n          let DropdownLists = result as any;\r\n          let filterOrganizationList = [{\r\n            key: Constants.NotAssignedToOrganization,\r\n            value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n          }].concat(DropdownLists.organizations);\r\n          let organizationsElement = this.organizationDDL as any as DropdownListComponent;\r\n          organizationsElement.updateDataSource(filterOrganizationList);\r\n  \r\n          this.IsFilterDataLoaded = true;\r\n        });\r\n      }\r\n    }\r\n  //Paging functions\r\n  setHelpCenterItemListResult(result) {\r\n    this.HelpCenterPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.title.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.title.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.HelpCenterPagingResult;\r\n  }\r\n\r\n  //Save HelpCenter Name for info page\r\n  SaveName(name) {\r\n    localStorage.setItem(\"ParentName\", name);\r\n  }\r\n  //Add helpcenter item\r\n  showAddHelpCenterModal(AddHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.HelpCenterService.loadAddDropdowns().subscribe((result) => {\r\n      let DropdownLists = result as any;\r\n      this.PermissionSetsList = DropdownLists.permissionSets;\r\n      this.addEditOrganizationsList = DropdownLists.organizations;\r\n\r\n      this.AddHelpCenterForm = new FormGroup({});\r\n      this.AddHelpCenterFormOptions = new FormOptions();\r\n      this.AddHelpCenterFormOptions.formGroup = this.AddHelpCenterForm;\r\n      this.AddHelpCenterFormOptions.getModelFunction = this.getAddHelpCenterModel;\r\n      this.AddHelpCenterFormOptions.serviceSubmitFunction = this.getAddHelpCenterFunction;\r\n      this.AddHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddTitle = new MultiLingualTextBoxOptions();\r\n      this.AddTitle.name = \"Title\";\r\n      this.AddTitle.arabicLabelKey = \"TitleAR\";\r\n      this.AddTitle.englishLabelKey = \"TitleEN\";\r\n      this.AddTitle.isRequired = true;\r\n      this.AddTitle.maxLength = 100;\r\n\r\n      this.AddDescription = new MultiLingualTextAreaOptions();\r\n      this.AddDescription.name = \"Description\";\r\n      this.AddDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.AddDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.AddDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n      this.AddDescription.maxLength = 1000;\r\n\r\n      this.AddPermissionSetsOptions = new DropdownOptions();\r\n      this.AddPermissionSetsOptions.name = \"PermissionSetIDs\";\r\n      this.AddPermissionSetsOptions.labelKey = \"PermissionSets\";\r\n      this.AddPermissionSetsOptions.dataSource = this.PermissionSetsList;\r\n      this.AddPermissionSetsOptions.singleSelection = false;\r\n      this.AddPermissionSetsOptions.allowSearchFilter = true;\r\n      this.AddPermissionSetsOptions.placeholder = \"\";\r\n      this.AddPermissionSetsOptions.isRequired = true;\r\n\r\n      this.AddIsHidden = new CheckBoxOptions();\r\n      this.AddIsHidden.name = \"IsHidden\";\r\n      this.AddIsHidden.labelKey = \"Hidden\";\r\n      this.AddIsHidden.value = false;\r\n\r\n      this.AddLogo = new ImageUploadOptions();\r\n      this.AddLogo.name = \"LogoFileDTO\";\r\n      this.AddLogo.labelKey = \"Logo\";\r\n      this.AddLogo.viewType = ControlLayout.Vertical;\r\n      this.AddLogo.fileUploadAcceptsTypes = [ImageType.ImageTypes];\r\n      this.AddLogo.isRequired = true;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.addOrganizations = new DropdownOptions();\r\n        this.addOrganizations.name = \"organizationId\";\r\n        this.addOrganizations.labelKey = \"Organization\";\r\n        this.addOrganizations.selectedItems = null;\r\n        this.addOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.addOrganizations.singleSelection = true;\r\n        this.addOrganizations.allowSearchFilter = true;\r\n      }\r\n      this.modalService.open(AddHelpCenterModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  getAddHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddHelpCenterForm.value as any;\r\n\r\n    let AddModel: HelpCenterItemModel = new HelpCenterItemModel();\r\n    AddModel.Title = ResultModel.Title;\r\n    AddModel.Description = ResultModel.Description;\r\n    AddModel.PermissionSetIDs = ResultModel.PermissionSetIDs;\r\n    AddModel.IsHidden = ResultModel.IsHidden;\r\n    AddModel.LogoFileDTO = ResultModel.LogoFileDTO;\r\n\r\n    // AddModel.LogoFileDTO = {\r\n    //   fileBase64: ResultModel[\"LogoFileDTO\"].FileBase64,\r\n    //   nameWithExtension: ResultModel[\"LogoFileDTO\"].FileName,\r\n    //   fileName: ResultModel[\"LogoFileDTO\"].FileName,\r\n    //   fileSizeInMB: ResultModel[\"LogoFileDTO\"].FileSizeInMB,\r\n    //   fileType: ResultModel[\"LogoFileDTO\"].FileType,\r\n    //   isNew: true\r\n    // };\r\n    AddModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.addOrganizations.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddHelpCenterFunction = (AddModel): Observable<any> => {\r\n    return this.HelpCenterService.AddHelpCenter(AddModel);\r\n  };\r\n\r\n  //Edit HelpCenter Item\r\n  showEditHelpCenterModal(helpCenterID: string, EditHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.HelpCenterItemId = helpCenterID;\r\n    this.HelpCenterService.getEditHelpCenterData(helpCenterID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let helpCenter = resultObj.model;\r\n      let lists = resultObj.lists;\r\n      this.PermissionSetsList = lists.permissionSets;\r\n      this.addEditOrganizationsList=lists.organizations\r\n\r\n      this.EditHelpCenterForm = new FormGroup({});\r\n      this.EditHelpCenterFormOptions = new FormOptions();\r\n      this.EditHelpCenterFormOptions.formGroup = this.EditHelpCenterForm;\r\n      this.EditHelpCenterFormOptions.getModelFunction = this.getEditHelpCenterModel;\r\n      this.EditHelpCenterFormOptions.serviceSubmitFunction = this.getEditHelpCenterFunction;\r\n      this.EditHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n      this.EditHelpCenterFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Title = new EnglishArabicDTO();\r\n      Title.arabic = helpCenter.title.arabic;\r\n      Title.english = helpCenter.title.english;\r\n\r\n      this.EditTitle = new MultiLingualTextBoxOptions();\r\n      this.EditTitle.name = \"Title\";\r\n      this.EditTitle.arabicLabelKey = \"TitleAR\";\r\n      this.EditTitle.englishLabelKey = \"TitleEN\";\r\n      this.EditTitle.isRequired = true;\r\n      this.EditTitle.value = Title;\r\n      this.EditTitle.maxLength = 100;\r\n\r\n\r\n      let Description = new EnglishArabicDTO();\r\n      Description.arabic = helpCenter.description.arabic;\r\n      Description.english = helpCenter.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = Description;\r\n      this.EditDescription.multiControlPlacementType = ControlLayout.Vertical;\r\n      this.EditDescription.maxLength = 1000;\r\n\r\n      this.EditPermissionSetsOptions = new DropdownOptions();\r\n      this.EditPermissionSetsOptions.name = \"PermissionSetIDs\";\r\n      this.EditPermissionSetsOptions.labelKey = \"PermissionSets\";\r\n      this.EditPermissionSetsOptions.dataSource = this.PermissionSetsList;\r\n      this.EditPermissionSetsOptions.singleSelection = false;\r\n      this.EditPermissionSetsOptions.allowSearchFilter = true;\r\n      this.EditPermissionSetsOptions.placeholder = \"\";\r\n      this.EditPermissionSetsOptions.selectedItems = helpCenter.permissionSetIDs?.map(i => i.toLowerCase());\r\n\r\n      this.EditIsHidden = new CheckBoxOptions();\r\n      this.EditIsHidden.name = \"IsHidden\";\r\n      this.EditIsHidden.labelKey = \"Hidden\";\r\n      this.EditIsHidden.value = helpCenter.isHidden;\r\n\r\n      this.EditLogo = new ImageUploadOptions();\r\n      this.EditLogo.name = \"LogoFileDTO\";\r\n      this.EditLogo.labelKey = \"Logo\";\r\n      this.EditLogo.isRequired = true;\r\n      this.EditLogo.fileUploadAcceptsTypes = [ImageType.ImageTypes];\r\n      this.EditLogo.value = helpCenter.logoFileDTO;\r\n      this.EditLogoFileID = helpCenter.logoFileID;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.editOrganizations = new DropdownOptions();\r\n        this.editOrganizations.name = \"organizationId\";\r\n        this.editOrganizations.labelKey = \"Organization\";\r\n        this.editOrganizations.selectedItems = helpCenter.organizationID_GUID;\r\n        this.editOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.editOrganizations.singleSelection = true;\r\n        this.editOrganizations.allowSearchFilter = true;\r\n      }\r\n\r\n      this.modalService.open(EditHelpCenterModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  getEditHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditHelpCenterForm.value as any;\r\n    let EditModel = new HelpCenterItemModel();\r\n    EditModel.ID_GUID = this.HelpCenterItemId;\r\n    EditModel.Title = ResultModel.Title; //(##1)\r\n    EditModel.Description = ResultModel.Description;\r\n    EditModel.IsHidden = ResultModel.IsHidden;\r\n    EditModel.LogoFileDTO = ResultModel.LogoFileDTO == \"\" ? null : ResultModel.LogoFileDTO;\r\n    EditModel.LogoFileID = this.EditLogoFileID;\r\n    EditModel.PermissionSetIDs = ResultModel.PermissionSetIDs;\r\n    EditModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.editOrganizations.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditHelpCenterFunction = (EditModel): Observable<any> => {\r\n    return this.HelpCenterService.EditHelpCenter(EditModel);\r\n  };\r\n\r\n  onOrganizationChanges(orgID,permissionSetDDL:DropdownListComponent,isAdd=false){\r\n    this.HelpCenterService.loadAddDropdowns(orgID).subscribe((result: any) => {\r\n      if(isAdd){\r\n        this.AddPermissionSetsOptions.selectedItems = null;\r\n      }\r\n      else{\r\n        this.EditPermissionSetsOptions.selectedItems = null;\r\n      }\r\n\r\n      permissionSetDDL.updateDataSource(result.permissionSets); \r\n    });\r\n  }\r\n  //Delete HelpCenter\r\n  showDeleteHelpCenterModal(helpCenterID: string) {\r\n    this.deleteHelpCenterId = helpCenterID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteHelpCenterId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteHelpCenter;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteHelpCenter = (id: string): Observable<any> => {\r\n    return this.HelpCenterService.DeleteHelpCenter(id);\r\n  };\r\n\r\n  //Generate Code\r\n  showGenerateCodeModal(GenerateCodeModal) {\r\n    this.HelpCenterService.GenerateCode().subscribe((result) => {\r\n      let Code = result as any;\r\n      this.GeneratedCodeOptions = new TextAreaOptions();\r\n      this.GeneratedCodeOptions.name = \"GeneratedCodeOptions\";\r\n      this.GeneratedCodeOptions.hideLabel = true;\r\n      this.GeneratedCodeOptions.maxLength = 1000000;\r\n      this.GeneratedCodeOptions.value = Code.text;\r\n      this.GeneratedCodeOptions.enableCopyToClipboard = true;\r\n      this.GeneratedCodeOptions.attributeList = [{ key: \"rows\", value: \"20\" }];\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"HelpCenterForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"HelpCenterForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <div *ngIf=\"adminWithMultitenanEnabled\" ngbDropdown class=\"d-inline-block\"\r\n          [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n          <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Filter\")}}\r\n          </button>\r\n          <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"HelpCenterForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div class=\"col-lg-12\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                        [group]=\"HelpCenterForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"helpCeneterFiltersBtn\">\r\n                    {{utilityService.getResourceValue(\"Reset\")}}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <button class=\"btn btn-sm btn-light-primary me-3\" (click)=\"showGenerateCodeModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-code\"></i> {{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n        <button class=\"btn btn-sm btn-light-primary me-3\" [routerLink]=\"['/Admin/HelpCenter/Preview']\"\r\n          routerLinkActive=\"router-link-active\">\r\n          <i class=\"fa fa-eye\"></i> {{utilityService.getResourceValue(\"Preview\")}}\r\n        </button>\r\n        <button class=\"btn btn-sm btn-primary me-3\" (click)=\"showAddHelpCenterModal(AddHelpCenterModal)\">\r\n          <i class=\"fa fa-plus\"></i> {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <!--begin::ActiveDirectory list-->\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Title\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"PermissionSets\")}}</th>\r\n              <th class=\"min-w-150px text-center\">{{utilityService.getResourceValue(\"Visible\")}}</th>\r\n              <th *ngIf=\"adminWithMultitenanEnabled\" class=\"min-w-150px\">\r\n                {{ utilityService.getResourceValue('Organization') }}\r\n              </th>\r\n              <th class=\"min-w-50px text-center\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Item of clientSidePagingResult\">\r\n              <td>\r\n                <a (click)=\"SaveName(Item.titleStr)\" [routerLink]=\"['/Admin/HelpCenter/SecondLevel',Item.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Item.titleStr}}</a>\r\n              </td>\r\n              <td>\r\n                <div>{{Item.descriptionStr}}</div>\r\n              </td>\r\n              <td> {{Item.permissionsStr}} </td>\r\n              <td class=\"text-center\">\r\n                <span *ngIf=\"Item.isHidden;else other_content\">\r\n                  <i class=\"fa fa-times\"></i>\r\n                </span>\r\n                <ng-template #other_content>\r\n                  <i class=\"fa fa-check\"></i>\r\n                </ng-template>\r\n              </td>\r\n              <td *ngIf=\"adminWithMultitenanEnabled\">{{ Item.organizationName ?? '-' }}</td>\r\n              <td class=\"text-center\">\r\n\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditHelpCenterModal(Item.iD_GUID,EditHelpCenterModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteHelpCenterModal(Item.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"5\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setHelpCenterItemListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"HelpCenterPaging\"\r\n        [group]=\"HelpCenterForm\" #HelpCenterPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n  <!-- Filter Wrapper -->\r\n  <!--end::Permission list-->\r\n</div>\r\n\r\n<!--Add Modal-->\r\n<ng-template #AddHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddHelpCenterFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddTitle\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      @if (adminWithMultitenanEnabled) {\r\n      <BBSF-DropdownList #addOrganizationDDL (onChange)=\"onOrganizationChanges($event,addPermissionSetDDL,true)\"\r\n        [options]=\"addOrganizations\" [group]=\"AddHelpCenterForm\"></BBSF-DropdownList>\r\n      }\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList #addPermissionSetDDL [options]=\"AddPermissionSetsOptions\" [group]=\"AddHelpCenterForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-ImageUpload [options]=\"AddLogo\" [group]=\"AddHelpCenterForm\">\r\n\r\n          </BBSF-ImageUpload>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsHidden\" [group]=\"AddHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseHelpCenterModal id=\"CloseAddHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!--Edit Modal-->\r\n<ng-template #EditHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditHelpCenterFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditTitle\" [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\"\r\n            [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      @if (adminWithMultitenanEnabled) {\r\n      <BBSF-DropdownList #editOrganizationDDL (onChange)=\"onOrganizationChanges($event,editPermissionSetDDL)\"\r\n        [options]=\"editOrganizations\" [group]=\"EditHelpCenterForm\"></BBSF-DropdownList>\r\n      }\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList #editPermissionSetDDL [options]=\"EditPermissionSetsOptions\" [group]=\"EditHelpCenterForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-ImageUpload [options]=\"EditLogo\" [group]=\"EditHelpCenterForm\">\r\n\r\n          </BBSF-ImageUpload>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsHidden\" [group]=\"EditHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditHelpCenterModal id=\"CloseEditHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n<!--Generate code Modal-->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"GeneratedCodeOptions\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n          </BBSF-TextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <!-- <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyToClipboard()\">{{utilityService.getResourceValue(\"CopyToClipboard\")}}</button> -->\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-help-centers',\r\n    templateUrl: './help-centers.component.html',\r\n    standalone: false\r\n})\r\nexport class HelpCentersComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingActionMode, PagingComponent, PagingOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { HelpCenterService } from '../../shared/Services/HelpCenterService.service';\r\nimport { HelpCenterItemModel } from '../../shared/models/HelpCenterModels/HelpCenterItemModel';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-help-center-secondlevel',\r\n    templateUrl: './help-center-secondlevel.component.html',\r\n    standalone: false\r\n})\r\nexport class HelpCenterSecondlevelComponent implements OnInit {\r\n  //Page requirements\r\n  ParentId: string = \"\";\r\n  ParentName: string = \"\";\r\n  PageName: string = \"\";\r\n  ApiUrl = \"/api/admin/HelpCenter/\";\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  ParentIdTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  ParentIDFilter: FilterItem;\r\n  HelpCenterForm = new FormGroup({});\r\n  HelpCenterPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  HelpCenterPaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('HelpCenterPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  AddHelpCenterForm = new FormGroup({});\r\n  AddHelpCenterFormOptions = new FormOptions;\r\n  AddTitle: MultiLingualTextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddIsHidden: CheckBoxOptions;\r\n\r\n  //Edit Model Controls\r\n  EditHelpCenterForm = new FormGroup({});\r\n  EditHelpCenterFormOptions = new FormOptions;\r\n  EditTitle: MultiLingualTextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditIsHidden: CheckBoxOptions;\r\n  HelpCenterItemId: string;\r\n\r\n  //delete  Model Controls\r\n  deleteHelpCenterId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService, public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService, private environmentService: EnvironmentService, private activatedRoute: ActivatedRoute, private HelpCenterService: HelpCenterService, private modalService: NgbModal) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.ParentId = params['parentID'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ParentName = localStorage.getItem(\"ParentName\");\r\n    this.PageName = this.ParentName;\r\n    PageInfoService.PageTitle = this.PageName;\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"HelpCenter\"), path: '/Admin/HelpCenter/HelpCenter', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n\r\n\r\n    ];\r\n\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n\r\n    this.initializePage();\r\n  }\r\n\r\n  //initialize Page filters\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    this.ParentIdTextBox = new TextBoxOptions();\r\n    this.ParentIdTextBox.name = \"ParentIdTextBox\";\r\n    this.ParentIdTextBox.hideLabel = true;\r\n    this.ParentIdTextBox.type = InputType.Text;\r\n    this.ParentIdTextBox.value = this.ParentId;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.ParentIDFilter = new FilterItem();\r\n    this.ParentIDFilter.formControlName = \"ParentIdTextBox\";\r\n    this.ParentIDFilter.actionParameterName = \"parentID\";\r\n    this.ParentIDFilter.isFormControl = true;\r\n    this.ParentIDFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.HelpCenterPaging = new PagingOptions();\r\n    this.HelpCenterPaging.actionPostURL = this.ApiUrl + 'GetHelpCenterItemsByFilter';\r\n    this.HelpCenterPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.HelpCenterPaging.filters = [this.TextInputFilter, this.ParentIDFilter];\r\n    this.HelpCenterPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n\r\n  //Paging functions\r\n  setHelpCenterItemListResult(result) {\r\n    this.HelpCenterPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.title.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.title.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.HelpCenterPagingResult;\r\n  }\r\n  //Save HelpCenter Name for info page\r\n  SaveName(name) {\r\n    localStorage.setItem(\"ParentName\", name);\r\n  }\r\n  //Add helpcenter item\r\n  showAddHelpCenterModal(AddHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.AddHelpCenterForm = new FormGroup({});\r\n    this.AddHelpCenterFormOptions = new FormOptions();\r\n    this.AddHelpCenterFormOptions.formGroup = this.AddHelpCenterForm;\r\n    this.AddHelpCenterFormOptions.getModelFunction = this.getAddHelpCenterModel;\r\n    this.AddHelpCenterFormOptions.serviceSubmitFunction = this.getAddHelpCenterFunction;\r\n    this.AddHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.AddTitle = new MultiLingualTextBoxOptions();\r\n    this.AddTitle.name = \"Title\";\r\n    this.AddTitle.arabicLabelKey = \"TitleAR\";\r\n    this.AddTitle.englishLabelKey = \"TitleEN\";\r\n    this.AddTitle.isRequired = true;\r\n    this.AddTitle.maxLength = 100;\r\n\r\n    this.AddDescription = new MultiLingualTextAreaOptions();\r\n    this.AddDescription.name = \"Description\";\r\n    this.AddDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n    this.AddDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n    this.AddDescription.maxLength = 1000;\r\n\r\n\r\n    this.AddIsHidden = new CheckBoxOptions();\r\n    this.AddIsHidden.name = \"IsHidden\";\r\n    this.AddIsHidden.labelKey = \"Hidden\";\r\n    this.AddIsHidden.value = false;\r\n\r\n    this.modalService.open(AddHelpCenterModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getAddHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddHelpCenterForm.value as any;\r\n    let AddModel: HelpCenterItemModel = new HelpCenterItemModel();\r\n    AddModel.Title = ResultModel.Title;\r\n    AddModel.Description = ResultModel.Description;\r\n    AddModel.IsHidden = ResultModel.IsHidden;\r\n    AddModel.ParentID_GUID = this.ParentId;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddHelpCenterFunction = (AddModel): Observable<any> => {\r\n    return this.HelpCenterService.AddHelpCenter(AddModel);\r\n  };\r\n\r\n  //Edit HelpCenter Item\r\n  showEditHelpCenterModal(helpCenterID: string, EditHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.HelpCenterItemId = helpCenterID;\r\n    this.HelpCenterService.getEditHelpCenterData(helpCenterID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let helpCenter = resultObj.model;\r\n\r\n      this.EditHelpCenterForm = new FormGroup({});\r\n      this.EditHelpCenterFormOptions = new FormOptions();\r\n      this.EditHelpCenterFormOptions.formGroup = this.EditHelpCenterForm;\r\n      this.EditHelpCenterFormOptions.getModelFunction = this.getEditHelpCenterModel;\r\n      this.EditHelpCenterFormOptions.serviceSubmitFunction = this.getEditHelpCenterFunction;\r\n      this.EditHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n      this.EditHelpCenterFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Title = new EnglishArabicDTO();\r\n      Title.arabic = helpCenter.title.arabic;\r\n      Title.english = helpCenter.title.english;\r\n\r\n      this.EditTitle = new MultiLingualTextBoxOptions();\r\n      this.EditTitle.name = \"Title\";\r\n      this.EditTitle.arabicLabelKey = \"TitleAR\";\r\n      this.EditTitle.englishLabelKey = \"TitleEN\";\r\n      this.EditTitle.isRequired = true;\r\n      this.EditTitle.value = Title;\r\n      this.EditTitle.maxLength = 100;\r\n\r\n      let Description = new EnglishArabicDTO();\r\n      Description.arabic = helpCenter.description.arabic;\r\n      Description.english = helpCenter.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.EditDescription.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.EditDescription.value = Description;\r\n      this.EditDescription.maxLength = 1000;\r\n\r\n\r\n      this.EditIsHidden = new CheckBoxOptions();\r\n      this.EditIsHidden.name = \"IsHidden\";\r\n      this.EditIsHidden.labelKey = \"Hidden\";\r\n      this.EditIsHidden.value = helpCenter.isHidden;\r\n\r\n      this.modalService.open(EditHelpCenterModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n\r\n  getEditHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditHelpCenterForm.value as any;\r\n    let EditModel = new HelpCenterItemModel();\r\n    EditModel.ID_GUID = this.HelpCenterItemId;\r\n    EditModel.Title = ResultModel.Title;\r\n    EditModel.Description = ResultModel.Description;\r\n    EditModel.IsHidden = ResultModel.IsHidden;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditHelpCenterFunction = (EditModel): Observable<any> => {\r\n    return this.HelpCenterService.EditHelpCenter(EditModel);\r\n  };\r\n\r\n  //Delete HelpCenter\r\n  showDeleteHelpCenterModal(helpCenterID: string) {\r\n    this.deleteHelpCenterId = helpCenterID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteHelpCenterId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteHelpCenter;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteHelpCenter = (id: string): Observable<any> => {\r\n    return this.HelpCenterService.DeleteHelpCenter(id);\r\n  };\r\n}\r\n\r\n\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"HelpCenterForm\">\r\n          <BBSF-TextBox (OnChange)=\"searchClientSide($event)\" [options]=\"searchTextBox\"\r\n            [group]=\"HelpCenterForm\"></BBSF-TextBox>\r\n          <BBSF-TextBox [options]=\"ParentIdTextBox\" [group]=\"HelpCenterForm\" [hidden]=\"true\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\"\r\n          (click)=\"showAddHelpCenterModal(AddHelpCenterModal)\">\r\n          <i class=\" fa fa-plus\"></i>{{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Title\")}}</th>\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n              <th class=\"text-center min-w-150px\">{{utilityService.getResourceValue(\"Visible\")}}</th>\r\n              <th class=\"text-center min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Item of clientSidePagingResult\">\r\n              <td>\r\n                <a (click)=\"SaveName(Item.titleStr)\" [routerLink]=\"['/Admin/HelpCenter/ThirdLevel',Item.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Item.titleStr}}</a>\r\n              </td>\r\n              <td>\r\n                <div>{{Item.descriptionStr}}</div>\r\n              </td>\r\n\r\n              <td class=\"text-center\">\r\n                <span *ngIf=\"Item.isHidden;else other_content\">\r\n                  <i class=\"fa fa-times\"></i>\r\n                </span>\r\n                <ng-template #other_content>\r\n                  <i class=\"fa fa-check\"></i>\r\n                </ng-template>\r\n              </td>\r\n              <td class=\"text-center\">\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditHelpCenterModal(Item.iD_GUID,EditHelpCenterModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteHelpCenterModal(Item.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"4\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end:: list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setHelpCenterItemListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"HelpCenterPaging\"\r\n        [group]=\"HelpCenterForm\" #HelpCenterPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddHelpCenterFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddTitle\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsHidden\" [group]=\"AddHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseHelpCenterModal id=\"CloseAddHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditHelpCenterFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditTitle\" [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n\r\n\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\"\r\n            [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsHidden\" [group]=\"EditHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditHelpCenterModal id=\"CloseEditHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, FilterItem, FilterType, InputType, PagingOptions, TextBoxOptions, MultiLingualHtmlEditorOptions, MultiLingualTextBoxOptions, EnglishArabicDTO, FormOptions, ConfirmationModalOptions, PagingActionMode, PagingComponent, ConfirmationModalComponent } from '@bnsights/bbsf-controls';\r\nimport { HelpCenterService } from '../../shared/Services/HelpCenterService.service';\r\nimport { HelpCenterItemModel } from '../../shared/models/HelpCenterModels/HelpCenterItemModel';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-help-center-thirdlevel',\r\n    templateUrl: './help-center-thirdlevel.component.html',\r\n    standalone: false\r\n})\r\nexport class HelpCenterThirdlevelComponent implements OnInit {\r\n  //Page requirements\r\n  ParentId: string = \"\";\r\n  ParentName: string = \"\";\r\n  PageName: string = \"\";\r\n  ApiUrl = \"/api/admin/HelpCenter/\";\r\n\r\n  //Filter and paging components\r\n  searchTextBox: TextBoxOptions;\r\n  ParentIdTextBox: TextBoxOptions;\r\n  HelpCenterPaging: PagingOptions;\r\n  TextInputFilter: FilterItem;\r\n  ParentIDFilter: FilterItem;\r\n  HelpCenterForm = new FormGroup({});\r\n  HelpCenterPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('HelpCenterPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //Add Model Controls\r\n  AddHelpCenterForm = new FormGroup({});\r\n  AddHelpCenterFormOptions = new FormOptions;\r\n  AddTitle: MultiLingualTextBoxOptions;\r\n  AddContent: MultiLingualHtmlEditorOptions;\r\n  AddIsHidden: CheckBoxOptions;\r\n\r\n\r\n  //Edit Model Controls\r\n  EditHelpCenterForm = new FormGroup({});\r\n  EditHelpCenterFormOptions = new FormOptions;\r\n  EditTitle: MultiLingualTextBoxOptions;\r\n  EditContent: MultiLingualHtmlEditorOptions;\r\n  EditIsHidden: CheckBoxOptions;\r\n  HelpCenterItemId: string;\r\n\r\n\r\n  //delete  Model Controls\r\n  deleteHelpCenterId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService, public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService, private environmentService: EnvironmentService, private activatedRoute: ActivatedRoute, private HelpCenterService: HelpCenterService, private modalService: NgbModal) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.ParentId = params['parentID'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ParentName = localStorage.getItem(\"ParentName\");\r\n    //this.BreadcrumbTitle = this.ParentName;\r\n    this.PageName = this.ParentName;\r\n    PageInfoService.PageTitle = this.PageName;\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"HelpCenter\"), path: '/Admin/HelpCenter/HelpCenter', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n\r\n\r\n    ];\r\n\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //initialize Page filters\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n\r\n    this.ParentIdTextBox = new TextBoxOptions();\r\n    this.ParentIdTextBox.name = \"ParentIdTextBox\";\r\n    this.ParentIdTextBox.hideLabel = true;\r\n    this.ParentIdTextBox.type = InputType.Text;\r\n    this.ParentIdTextBox.value = this.ParentId;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.ParentIDFilter = new FilterItem();\r\n    this.ParentIDFilter.formControlName = \"ParentIdTextBox\";\r\n    this.ParentIDFilter.actionParameterName = \"parentID\";\r\n    this.ParentIDFilter.isFormControl = true;\r\n    this.ParentIDFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.HelpCenterPaging = new PagingOptions();\r\n    this.HelpCenterPaging.actionPostURL = this.ApiUrl + 'GetHelpCenterItemsByFilter';\r\n    this.HelpCenterPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.HelpCenterPaging.filters = [this.TextInputFilter, this.ParentIDFilter];\r\n    this.HelpCenterPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n\r\n  //Paging functions\r\n  setHelpCenterItemListResult(result) {\r\n    this.HelpCenterPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.title.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.title.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.HelpCenterPagingResult;\r\n  }\r\n\r\n  //Add helpcenter item\r\n  showAddHelpCenterModal(AddHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    this.AddHelpCenterForm = new FormGroup({});\r\n    this.AddHelpCenterFormOptions = new FormOptions();\r\n    this.AddHelpCenterFormOptions.formGroup = this.AddHelpCenterForm;\r\n    this.AddHelpCenterFormOptions.getModelFunction = this.getAddHelpCenterModel;\r\n    this.AddHelpCenterFormOptions.serviceSubmitFunction = this.getAddHelpCenterFunction;\r\n    this.AddHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n\r\n    this.AddTitle = new MultiLingualTextBoxOptions();\r\n    this.AddTitle.name = \"Title\";\r\n    this.AddTitle.arabicLabelKey = \"TitleAR\";\r\n    this.AddTitle.englishLabelKey = \"TitleEN\";\r\n    this.AddTitle.isRequired = true;\r\n    this.AddTitle.maxLength = 100;\r\n\r\n    this.AddContent = new MultiLingualHtmlEditorOptions();\r\n    this.AddContent.name = \"Html\";\r\n    this.AddContent.arabicLabelKey = \"ContentInArabic\";\r\n    this.AddContent.englishLabelKey = \"ContentInEnglish\";\r\n    this.AddContent.isRequired = true;\r\n    this.AddContent.maxLength = 5000;\r\n\r\n    this.AddIsHidden = new CheckBoxOptions();\r\n    this.AddIsHidden.name = \"IsHidden\";\r\n    this.AddIsHidden.labelKey = \"Hidden\";\r\n    this.AddIsHidden.value = false;\r\n    this.modalService.open(AddHelpCenterModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getAddHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddHelpCenterForm.value as any;\r\n    let AddModel: HelpCenterItemModel = new HelpCenterItemModel();\r\n    AddModel.Title = ResultModel.Title;\r\n    AddModel.Html = ResultModel.Html;\r\n    AddModel.IsHidden = ResultModel.IsHidden;\r\n    AddModel.ParentID_GUID = this.ParentId;\r\n    AddModel.IsParent = true;\r\n    AddModel.IsSection = true;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddHelpCenterFunction = (AddModel): Observable<any> => {\r\n    return this.HelpCenterService.AddHelpCenter(AddModel);\r\n  };\r\n\r\n  //Edit HelpCenter Item\r\n  showEditHelpCenterModal(helpCenterID: string, EditHelpCenterModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.HelpCenterItemId = helpCenterID;\r\n    this.HelpCenterService.getEditHelpCenterData(helpCenterID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let helpCenter = resultObj.model;\r\n\r\n      this.EditHelpCenterForm = new FormGroup({});\r\n      this.EditHelpCenterFormOptions = new FormOptions();\r\n      this.EditHelpCenterFormOptions.formGroup = this.EditHelpCenterForm;\r\n      this.EditHelpCenterFormOptions.getModelFunction = this.getEditHelpCenterModel;\r\n      this.EditHelpCenterFormOptions.serviceSubmitFunction = this.getEditHelpCenterFunction;\r\n      this.EditHelpCenterFormOptions.pagingReference = this.pagingElement;\r\n      this.EditHelpCenterFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Title = new EnglishArabicDTO();\r\n      Title.arabic = helpCenter.title.arabic;\r\n      Title.english = helpCenter.title.english;\r\n\r\n      this.EditTitle = new MultiLingualTextBoxOptions();\r\n      this.EditTitle.name = \"Title\";\r\n      this.EditTitle.arabicLabelKey = \"TitleAR\";\r\n      this.EditTitle.englishLabelKey = \"TitleEN\";\r\n      this.EditTitle.isRequired = true;\r\n      this.EditTitle.value = Title;\r\n      this.EditTitle.maxLength = 100;\r\n\r\n      let Content = new EnglishArabicDTO();\r\n      Content.arabic = helpCenter.html.arabic;\r\n      Content.english = helpCenter.html.english;\r\n\r\n      this.EditContent = new MultiLingualHtmlEditorOptions();\r\n      this.EditContent.name = \"Html\";\r\n      this.EditContent.arabicLabelKey = \"ContentInArabic\";\r\n      this.EditContent.englishLabelKey = \"ContentInEnglish\";\r\n      this.EditContent.isRequired = true;\r\n      this.EditContent.value = Content;\r\n      this.EditContent.maxLength = 5000;\r\n\r\n\r\n      this.EditIsHidden = new CheckBoxOptions();\r\n      this.EditIsHidden.name = \"IsHidden\";\r\n      this.EditIsHidden.labelKey = \"Hidden\";\r\n      this.EditIsHidden.value = helpCenter.isHidden;\r\n      this.modalService.open(EditHelpCenterModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n\r\n  }\r\n\r\n  getEditHelpCenterModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditHelpCenterForm.value as any;\r\n    let EditModel = new HelpCenterItemModel();\r\n    EditModel.ID_GUID = this.HelpCenterItemId;\r\n    EditModel.Title = ResultModel.Title; //(##1)\r\n    EditModel.Html = ResultModel.Html;\r\n    EditModel.IsHidden = ResultModel.IsHidden;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditHelpCenterFunction = (EditModel): Observable<any> => {\r\n    return this.HelpCenterService.EditHelpCenter(EditModel);\r\n  };\r\n\r\n  //Delete HelpCenter\r\n  showDeleteHelpCenterModal(helpCenterID: string) {\r\n    this.deleteHelpCenterId = helpCenterID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteHelpCenterId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteHelpCenter;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteHelpCenter = (id: string): Observable<any> => {\r\n    return this.HelpCenterService.DeleteHelpCenter(id);\r\n  };\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"HelpCenterForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"HelpCenterForm\"></BBSF-TextBox>\r\n          <BBSF-TextBox [options]=\"ParentIdTextBox\" [group]=\"HelpCenterForm\" [hidden]=\"true\">\r\n          </BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\"\r\n          (click)=\"showAddHelpCenterModal(AddHelpCenterModal)\">\r\n          <i class=\" fa fa-plus\"></i>{{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Title\")}}</th>\r\n              <th class=\"min-w-150px text-center\">{{utilityService.getResourceValue(\"Visible\")}}</th>\r\n              <th class=\"text-center min-w-50\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n            <tr *ngFor=\"let Item of clientSidePagingResult\">\r\n\r\n              <td>\r\n                <span class=\"text-dark\">{{Item.titleStr}}</span>\r\n              </td>\r\n              <td class=\"text-center\">\r\n                <span *ngIf=\"Item.isHidden;else other_content\">\r\n                  <i class=\"fa fa-times\"></i>\r\n                </span>\r\n                <ng-template #other_content>\r\n                  <i class=\"fa fa-check\"></i>\r\n                </ng-template>\r\n              </td>\r\n              <td class=\"text-center\">\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button class=\"drop-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditHelpCenterModal(Item.iD_GUID,EditHelpCenterModal)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteHelpCenterModal(Item.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"3\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n\r\n        <!--end:: list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setHelpCenterItemListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"HelpCenterPaging\"\r\n        [group]=\"HelpCenterForm\" #HelpCenterPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddHelpCenterFormOptions\">\r\n\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddTitle\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualHtmlEditor [options]=\"AddContent\" [group]=\"AddHelpCenterForm\"></BBSF-MultiLingualHtmlEditor>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"AddIsHidden\" [group]=\"AddHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseHelpCenterModal id=\"CloseAddHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditHelpCenterModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"HelpCenter\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditHelpCenterFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditTitle\" [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualHtmlEditor [options]=\"EditContent\"\r\n            [group]=\"EditHelpCenterForm\"></BBSF-MultiLingualHtmlEditor>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"EditIsHidden\" [group]=\"EditHelpCenterForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditHelpCenterModal id=\"CloseEditHelpCenterModal\" type=\"button\" class=\"btn btn-light btn-sm  me-3\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { Component, OnInit } from '@angular/core';\r\nimport { HelpCenterService } from '../../shared/Services/HelpCenterService.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-help-center-preview',\r\n    templateUrl: './help-center-preview.component.html',\r\n    standalone: false\r\n})\r\nexport class HelpCenterPreviewComponent implements OnInit {\r\n  HelpCenterItems: any;\r\n  ProductionMode: boolean = false;\r\n  /**ItemNumber:0\r\n  TabNumber:number=0;*/\r\n  language: string = \"\";\r\n\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService, public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService, private environmentService: EnvironmentService, private HelpCenterService: HelpCenterService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.language = event.lang;\r\n      this.ngOnInit();\r\n    });\r\n    this.language = await this.utilityService.getCurrentLanguage();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n\r\n    this.LoadList();\r\n  }\r\n\r\n  LoadList() {\r\n\r\n    this.HelpCenterService.GetAll().subscribe((result) => {\r\n      this.HelpCenterItems = result;\r\n    });\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-body accordion-custom\">\r\n      <div ngbAccordion activeIds=\"ngb-panel-0\" *ngFor=\"let Item of HelpCenterItems;let itemIndex=index;\">\r\n        <div ngbAccordionItem>\r\n          <ng-template ngbAccordionHeader>\r\n            <h4 id=\"parentTitle\" *ngIf=\"language=='en'\">{{Item.title.english}}</h4>\r\n            <h4 id=\"parentTitle\" *ngIf=\"language=='ar'\">{{Item.title.arabic}}</h4>\r\n            <div id=\"parentdesc\" *ngIf=\"language=='en'\" class=\"text-muted\">{{Item.description.english}}</div>\r\n            <div id=\"parentdesc\" *ngIf=\"language=='ar'\" class=\"text-muted\">{{Item.description.arabic}}</div>\r\n          </ng-template>\r\n          <ng-template ngbAccordionBody>\r\n            <ul id=\"{{'Lvl1-'+Item.id}}\">\r\n              <li *ngFor=\"let child of Item.children;let i=index;\">\r\n                <a href=\"{{'#Content-'+i+'-'+itemIndex}}\" [ngClass]=\"{'active helpcenterlink': i === 0}\"\r\n                  data-toggle=\"tab\" role=\"tab\" aria-selected=\"true\">\r\n                  <span class=\"kt-nav__link-text text-to-truncate1\"\r\n                    *ngIf=\"language=='en'\">{{child.title.english}}</span>\r\n                  <span class=\"kt-nav__link-text text-to-truncate1\" *ngIf=\"language=='ar'\">{{child.title.arabic}}</span>\r\n                </a>\r\n              </li>\r\n            </ul>\r\n            <div *ngFor=\"let child of Item.children;let i=index;\"\r\n              class=\"d-flex align-items-center bg-light-dark rounded p-5 mb-7\">\r\n              <div id=\"{{'#Content-'+i+'-'+itemIndex}}\">\r\n                <div *ngFor=\"let lastChild of child.children;let j=index;\">\r\n                  <span *ngIf=\"language=='en'\" class=\"fw-bolder text-light fs-4 mb-2\">{{lastChild.title.english}}</span>\r\n                  <span *ngIf=\"language=='ar'\" class=\"fw-bolder text-light fs-4 mb-2\">{{lastChild.title.arabic}}</span>\r\n                  <div>\r\n                    <div>\r\n                      <span *ngIf=\"language=='en'\" class=\"text-primary fw-bold d-block\"\r\n                        innerHtml=\"{{lastChild.html.english}}\">\r\n                      </span>\r\n                      <span *ngIf=\"language=='ar'\" class=\"text-primary fw-bold d-block\"\r\n                        innerHtml=\"{{lastChild.html.arabic}}\">\r\n                      </span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HelpCenterSecondlevelComponent } from './help-center-secondlevel/help-center-secondlevel.component';\r\nimport { HelpCenterThirdlevelComponent } from './help-center-thirdlevel/help-center-thirdlevel.component';\r\nimport { HelpCenterComponent } from './help-center/help-center.component';\r\nimport { HelpCentersComponent } from './help-centers.component';\r\nimport {HelpCenterPreviewComponent} from './help-center-preview/help-center-preview.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {path :\"\",component:HelpCentersComponent ,children:[\r\n   { path: \"HelpCenter\", component: HelpCenterComponent },\r\n   { path: \"SecondLevel/:parentID\", component: HelpCenterSecondlevelComponent },\r\n   { path: \"ThirdLevel/:parentID\", component: HelpCenterThirdlevelComponent },\r\n   {path:\"Preview\",component:HelpCenterPreviewComponent},\r\n   {path:\"\", redirectTo: 'HelpCenter', pathMatch: 'full'}\r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class HelpCenterRoutingModule { }\r\n","import { HelpCenterComponent } from './help-center/help-center.component';\r\nimport { HelpCentersComponent } from './help-centers.component';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { HelpCenterRoutingModule } from './help-center-routing.module';\r\nimport { HelpCenterSecondlevelComponent } from './help-center-secondlevel/help-center-secondlevel.component';\r\nimport { HelpCenterThirdlevelComponent } from './help-center-thirdlevel/help-center-thirdlevel.component';\r\nimport { HelpCenterPreviewComponent } from './help-center-preview/help-center-preview.component';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { HelpCenterService } from '../shared/Services/HelpCenterService.service';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [HelpCenterComponent, HelpCentersComponent, HelpCenterSecondlevelComponent, HelpCenterThirdlevelComponent, HelpCenterPreviewComponent],\r\n  imports: [\r\n    HelpCenterRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    HelpCenterService\r\n  ],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class HelpCenterModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-logs',\r\n    templateUrl: './logs.component.html',\r\n    standalone: false\r\n})\r\nexport class LogsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class LogsService {\r\n  ApiUrl = \"/api/admin/Logs/\";\r\n  constructor(private http: RequestHandlerService) { }\r\n\r\n  ViewFile(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'GetLogFileData', params);\r\n\r\n\r\n  }\r\n\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { PagingOptions, TextAreaOptions } from '@bnsights/bbsf-controls';\r\nimport { LogsService } from '../../shared/Services/LogsService';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-log',\r\n    templateUrl: './log.component.html',\r\n    standalone: false\r\n})\r\nexport class LogComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Logs/\";\r\n\r\n  //Filter and paging components\r\n  LogsPagingResult: any[] = [];\r\n  LogsPaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  @ViewChild('LogsPagingViewElement', { static: false }) pagingElement: ElementRef;\r\n\r\n  //View logs modal\r\n  ViewFileForm = new FormGroup({});\r\n  FileName: string;\r\n  ViewFileData: TextAreaOptions;\r\n\r\n\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private LogsService: LogsService, private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Logs\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  initializePage() {\r\n    this.LogsPaging = new PagingOptions();\r\n    this.LogsPaging.actionPostURL = this.ApiUrl + 'GetLogsByFilter';\r\n    this.LogsPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.IsFilterLoaded = true;\r\n\r\n  }\r\n  //Paging functions\r\n  setPublicHolidayListResult(result) {\r\n    this.LogsPagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  //View file\r\n  showFileDataModal(id: string, name: string, ViewFileDataModal) {\r\n    this.ViewFileForm = new FormGroup({});\r\n    this.LogsService.ViewFile(id).subscribe((result) => {\r\n      let data = result as any;\r\n      this.FileName = name;\r\n      console.log(data);\r\n\r\n      this.ViewFileData = new TextAreaOptions();\r\n      this.ViewFileData.name = \"GenerateCodeTextArea\";\r\n      this.ViewFileData.value = data.text;\r\n      this.ViewFileData.isDisabled = true;\r\n      this.ViewFileData.hideLabel = true;\r\n      this.ViewFileData.rows = 20;\r\n      this.ViewFileData.cols = 20;\r\n      this.ViewFileData.maxLength = 1000000;\r\n      this.modalService.open(ViewFileDataModal);\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n  <!-- Page Content -->\r\n  <div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n    <!-- begin::Header -->\r\n    <div class=\"card card-custom-h\">\r\n      <!-- begin::Body -->\r\n      <div class=\"card-body py-3\">\r\n        <!-- begin::Table container -->\r\n        <div class=\"table-responsive\">\r\n          <!-- begin::Table -->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Modified\")}}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n              <tr *ngFor=\"let Log of LogsPagingResult\">\r\n                <td>\r\n                  <a class=\"text-gray-800 text-hover-primary mb-1\" (click)=\"showFileDataModal(Log.pathEncrypted,Log.name,ViewFileModal)\">{{Log.name}}</a>\r\n                </td>\r\n                <td>\r\n                  {{Log.lastModified}}\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"LogsPagingResult.length == 0\">\r\n                <td colspan=\"2\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n          <!--end:: list-->\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"card-footer border-0\">\r\n        <BBSF-Paging (Items)=\"setPublicHolidayListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n                     [options]=\"LogsPaging\" #LogsPagingViewElement>\r\n        </BBSF-Paging>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <!-- View file Modal -->\r\n  <ng-template #ViewFileModal let-modal>\r\n    <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n      <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n      <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n        <span class=\"svg-icon svg-icon-1\">\r\n          <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n        </span>\r\n      </button>\r\n    </div>\r\n    <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n      <div class=\"mb-13 text-center\">\r\n        <h1 class=\"mb-3\">{{FileName}}</h1>\r\n      </div>\r\n\r\n      <form [formGroup]=\"ViewFileForm\">\r\n        <BBSF-TextArea [options]=\"ViewFileData\" [group]=\"ViewFileForm\">\r\n        </BBSF-TextArea>\r\n        <div class=\"text-center pt-7\">\r\n          <button #CloseViewFileModal id=\"CloseViewFileModal\" type=\"button\"\r\n                  class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n            {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n          </button>\r\n\r\n        </div>\r\n      </form>\r\n    </div>\r\n  </ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LogComponent } from './log/log.component';\r\nimport { LogsComponent } from './logs.component';\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\", component: LogsComponent ,children:[\r\n   { path: \"Logs\", component: LogComponent},\r\n      { path: \"\", redirectTo: 'Logs', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class LogsRoutingModule { }\r\n","import { LogsComponent } from './logs.component';\r\nimport { LogComponent } from './log/log.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { LogsRoutingModule } from './logs-routing.module';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { LogsService } from '../shared/Services/LogsService';\r\n\r\n\r\n@NgModule({\r\n  declarations: [LogComponent, LogsComponent],\r\n  imports: [\r\n    LogsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    LogsService\r\n  ]\r\n})\r\n\r\nexport class LogsModule { }\r\n","import { ProviderAttributeModel } from \"./ProviderAttributeModel\";\r\n\r\nexport class ProviderModel {\r\n  ID: number;\r\n  ID_GUID: string;\r\n  ProviderName: string;\r\n  Description: string;\r\n  TypeFullName:string;\r\n  IsDefault: boolean;\r\n  IsRunning: boolean;\r\n  OrganizationID_GUID: string;\r\n  ProviderTypeItemID_GUID: string;\r\n  ProviderAttributes : ProviderAttributeModel[] = [];\r\n}\r\n","export class ProviderAttributeModel {\r\n  ID: number;\r\n  Name: string;\r\n  Value: string;\r\n  IsEncrypted: boolean;\r\n  IsRequired: boolean;\r\n}\r\n","export enum ProviderType {\r\n  Files = 10001,\r\n  Emails = 10002,\r\n  SMS = 10003,\r\n}\r\n","export class EmailProviderTesterModel {\r\n  ProviderID: string\r\n  ProviderName : string\r\n  ToEmail: string\r\n  Subject: string\r\n  Body: string\r\n}\r\n","export class SMSProviderTesterModel {\r\n  ProviderID: string\r\n  ProviderName: string\r\n  ToMobileNumber: string\r\n  Message: string\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ProviderModel } from \"../models/ProviderModels/ProviderModel\";\r\nimport { DefaultProviderModel } from '../models/ProviderModels/DefaultProviderModel';\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { EmailProviderTesterModel } from \"../models/ProviderModels/EmailProviderTesterModel\";\r\nimport { SMSProviderTesterModel } from \"../models/ProviderModels/SMSProviderTesterModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ProviderService {\r\n  ApiUrl = \"/api/admin/Provider/\";\r\n\r\n  constructor(private http: RequestHandlerService) { }\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'LoaddropdownsForAdd');\r\n  }\r\n  AddProvider(AddModel: ProviderModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'AddProvider', AddModel);\r\n  }\r\n\r\n  GetEditProviderData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditProvider', params);\r\n\r\n  }\r\n\r\n  EditProvider(EditModel: ProviderModel) {\r\n\r\n    return this.http.post(this.ApiUrl + 'EditProvider', EditModel);\r\n  }\r\n\r\n  DeleteProvider(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteProvider', JSON.stringify(id));\r\n  }\r\n  Loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'Loaddropdowns');\r\n  }\r\n\r\n  GetProviderAttributes(typeFullName: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"typeFullName\", typeFullName);\r\n    return this.http.post(this.ApiUrl + 'GetProviderAttributes', null, null, params);\r\n\r\n  }\r\n  GenerateProviderJson() {\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.responseType = \"arraybuffer\";\r\n    return this.http.post(this.ApiUrl + 'GenerateProviderJson', null, null, null, options);\r\n  }\r\n\r\n  GetDefaultProviders() {\r\n    return this.http.get(this.ApiUrl + 'SelectDefaultProvider');\r\n\r\n  }\r\n  SubmitDefaultProviders(DefaulrProvidersModel: DefaultProviderModel[]) {\r\n\r\n    return this.http.post(this.ApiUrl + 'SubmitDefaultProvider', DefaulrProvidersModel);\r\n  }\r\n  TestEmail(testEmailModel: EmailProviderTesterModel) {\r\n    return this.http.post(this.ApiUrl + 'TestEmail', testEmailModel);\r\n  }\r\n\r\n  TestSMS(testSMSModel: SMSProviderTesterModel) {\r\n    return this.http.post(this.ApiUrl + 'TestSMS', testSMSModel);\r\n  }\r\n\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ControlLayout, DropdownOptions, FilterItem, FilterType, InputType, PagingOptions, RadioButtonOptions, TextAreaOptions, TextBoxOptions, RadioButtonItem, FormOptions, ConfirmationModalOptions, PagingActionMode, HtmlEditorOptions, PhoneOptions, PagingComponent, ConfirmationModalComponent, PermissionSets, DropdownListComponent } from '@bnsights/bbsf-controls';\r\nimport { ProviderService } from '../../shared/Services/provider.service';\r\nimport { ProviderModel } from '../../shared/models/ProviderModels/ProviderModel';\r\nimport { ProviderAttributeModel } from '../../shared/models/ProviderModels/ProviderAttributeModel';\r\nimport { DefaultProviderModel } from '../../shared/models/ProviderModels/DefaultProviderModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, RequestHandlerService, EnvironmentService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { saveAs } from 'file-saver';\r\nimport { ProviderType } from '../../shared/Enums/ProviderType';\r\nimport { EmailProviderTesterModel } from '../../shared/models/ProviderModels/EmailProviderTesterModel';\r\nimport { SMSProviderTesterModel } from '../../shared/models/ProviderModels/SMSProviderTesterModel';\r\nimport { Constants } from '../../shared';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-provider',\r\n    templateUrl: './provider.component.html',\r\n    standalone: false\r\n})\r\nexport class ProviderComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = \"/api/admin/Provider/\";\r\n\r\n  //Filter and paging components\r\n  ProviderForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  providerTypesFilterOption: DropdownOptions;\r\n  providerTypesFilter: FilterItem;\r\n  sortingFilterOption: DropdownOptions;\r\n  sortingFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n  ProviderPaging: PagingOptions;\r\n  ProviderPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  @ViewChild('ProviderPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  ProviderTypesFilterList: any[] = [];\r\n  SortingFilterList: any[] = [];\r\n  TypesList: any[] = [];\r\n  LoadedProviders: any[] = [];\r\n  @ViewChild('providerTypesDDL', { static: false }) providerTypesDDL: ElementRef;\r\n  @ViewChild('sortingFilterDDL', { static: false }) sortingFilterDDL: ElementRef;\r\n\r\n\r\n  //Provider attributes\r\n  ProviderAttributesOptions: any[] = [];\r\n  ProviderAttributesCount: number = 0;\r\n  IsAttributesLoaded: boolean = false;\r\n  showNoAttributesError: boolean = false;\r\n\r\n  //Add Model Controls\r\n  AddProviderForm = new FormGroup({});\r\n  AddProviderFormOptions: FormOptions;\r\n  AddName: TextBoxOptions;\r\n  AddDescription: TextAreaOptions;\r\n  addIsDefault:CheckBoxOptions;\r\n  //AddOrganizationOptions: DropdownOptions;\r\n  AddTypeOptions: DropdownOptions;\r\n  AddProviderTypeItemID_GUID: string;\r\n\r\n\r\n  ////Edit Model Controls\r\n  EditProviderForm = new FormGroup({});\r\n  EditProviderFormOptions: FormOptions;\r\n  EditName: TextBoxOptions;\r\n  EditDescription: TextAreaOptions;\r\n  EditTypeOptions: DropdownOptions;\r\n  EditProviderTypeItemID_GUID: string;\r\n  EditProviderAttributesOptions: any[] = [];\r\n  EditProviderAttributesCount: number = 0;\r\n  ProviderId: string;\r\n  editIsDefault:CheckBoxOptions;\r\n\r\n  //delete  Model Controls\r\n  deleteProviderId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //Select Default Providers\r\n  DefaultProviderForm = new FormGroup({});\r\n  DefaultProviderFormOptions: FormOptions;\r\n  DefaultProviders: any[] = [];\r\n  DefaultProvidersRadioBtnOptions: RadioButtonOptions[];\r\n\r\n  //Test Provider functions\r\n  emailProviderType = ProviderType.Emails;\r\n  smsProviderType = ProviderType.SMS;\r\n  //Test Email Model controls\r\n  testEmailForm = new FormGroup({});\r\n  testEmailFormOptions: FormOptions;\r\n  emailTo: TextBoxOptions;\r\n  emailSubject: TextBoxOptions;\r\n  emailBody: TextAreaOptions;\r\n  testEmailProviderId: string;\r\n  testEmailProviderName: string;\r\n\r\n  //Test SMS Model controls\r\n  testSMSForm = new FormGroup({});\r\n  testSMSFormOptions: FormOptions;\r\n  smsTo: PhoneOptions;\r\n  smsBody: TextAreaOptions;\r\n  testSMSProviderId: string;\r\n  testSMSProviderName: string;\r\n\r\n   //multi tenant\r\n   adminWithMultitenanEnabled:boolean;\r\n   organizationOptions: DropdownOptions;\r\n   organizationsFilter: FilterItem;\r\n   currentUserProfile: any;\r\n   permissionSets = PermissionSets;\r\n   addOrganizations:DropdownOptions;\r\n   editOrganizations:DropdownOptions;\r\n   addEditOrganizationsList=[];\r\n   @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n  constructor\r\n    (\r\n      private ProviderService: ProviderService,\r\n      private modalService: NgbModal,\r\n      private authService: AuthService,\r\n      private bbsfTranslateService: BBSFTranslateService,\r\n      public utilityService: UtilityService,\r\n      private pageInfoService: PageInfoService,\r\n      private requestHandlerService: RequestHandlerService,\r\n      private environmentService: EnvironmentService\r\n    ) {\r\n      this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n      let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n      this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n     }\r\n\r\n\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.ShowPageContent = true;\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"ServiceProviders\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n\r\n    //on lang changed\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ShowPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = \"searchTextBox\";\r\n    this.TextInputFilter.actionParameterName = \"searchText\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    // Provider Types Filter Init\r\n    this.providerTypesFilterOption = new DropdownOptions();\r\n    this.providerTypesFilterOption.name = \"providerTypesFilterOption\";\r\n    this.providerTypesFilterOption.labelKey = \"ProviderTypes\";\r\n\r\n    this.providerTypesFilter = new FilterItem();\r\n    this.providerTypesFilter.formControlName = \"providerTypesFilterOption\";\r\n    this.providerTypesFilter.actionParameterName = \"types\";\r\n    this.providerTypesFilter.isFormControl = true;\r\n    this.providerTypesFilter.filterType = FilterType.DropdownList;\r\n\r\n\r\n    this.sortingFilterOption = new DropdownOptions();\r\n    this.sortingFilterOption.name = \"sortingFilterOption\";\r\n    this.sortingFilterOption.labelKey = \"Sort\";\r\n    this.sortingFilterOption.singleSelection = true;\r\n    this.sortingFilterOption.placeholder = \"\";\r\n\r\n    this.sortingFilter = new FilterItem();\r\n    this.sortingFilter.formControlName = \"sortingFilterOption\";\r\n    this.sortingFilter.actionParameterName = \"sortID\";\r\n    this.sortingFilter.isFormControl = true;\r\n    this.sortingFilter.filterType = FilterType.DropdownList;\r\n\r\n\r\n    this.ProviderPaging = new PagingOptions();\r\n    this.ProviderPaging.actionPostURL = this.ApiUrl + 'GetProvidersByFilter';\r\n    this.ProviderPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.ProviderPaging.dropdownFiltersControlNames = [\"providerTypesFilterOption\", \"sortingFilterOption\"];\r\n    this.ProviderPaging.filters = [this.TextInputFilter, this.providerTypesFilter, this.sortingFilter];\r\n    this.ProviderPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.ProviderPaging.resetFilterButtonName = \"providerFiltersBtn\";\r\n\r\n    if (this.adminWithMultitenanEnabled) {\r\n      this.organizationOptions = new DropdownOptions();\r\n      this.organizationOptions.name = \"organization\";\r\n      this.organizationOptions.labelKey = \"Organizations\";\r\n      this.organizationOptions.singleSelection = true;\r\n      this.organizationOptions.allowSearchFilter = true;\r\n\r\n      this.ProviderPaging.filters = this.ProviderPaging.filters ?? [];\r\n      this.ProviderPaging.dropdownFiltersControlNames = this.ProviderPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.ProviderPaging.filters.push(this.organizationsFilter);\r\n      this.ProviderPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  //Load filters lists\r\n  loadLists() {\r\n    if (!this.IsFilterDataLoaded) {\r\n      this.ProviderService.Loaddropdowns().subscribe((result) => {\r\n        let DropdownLists = result as any;\r\n        //this.OrganizationsList = DropdownLists.organizations;\r\n        //this.TypesList = DropdownLists.providerTypes;\r\n        this.ProviderTypesFilterList = DropdownLists.providerTypesFilter;\r\n        this.SortingFilterList = DropdownLists.sortingFilterList;\r\n        let filterOrganizationList = [{\r\n          key: Constants.NotAssignedToOrganization,\r\n          value: this.utilityService.getResourceValue(\"NotAssigned\"),\r\n        }].concat(DropdownLists.organizations);\r\n\r\n        let providerTypesElement = this.providerTypesDDL as any as DropdownListComponent;\r\n        let sortingFilterElement = this.sortingFilterDDL as any as DropdownListComponent;\r\n        let organizationsElement = this.organizationDDL as any as DropdownListComponent;\r\n\r\n        providerTypesElement.updateDataSource(this.ProviderTypesFilterList);\r\n        sortingFilterElement.updateDataSource(this.SortingFilterList);\r\n        organizationsElement.updateDataSource(filterOrganizationList);\r\n\r\n        this.IsFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n\r\n  //Paging functions\r\n  setProviderListResult(result) {\r\n    this.ProviderPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return item.providerName.toLowerCase().includes(searchValue.toLowerCase());\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.ProviderPagingResult;\r\n  }\r\n\r\n  //AttributesFunction\r\n  setAddProviderAttributes(typeFullName) {\r\n    this.ProviderService.GetProviderAttributes(typeFullName).subscribe((result) => {\r\n      var resultObj = result as any;\r\n      //Set Provider type id on type change\r\n      this.LoadedProviders = resultObj.loadedProviders;\r\n      let selectedProviderType = this.LoadedProviders.find(obj => {\r\n        return obj.fullName === typeFullName;\r\n      });\r\n      this.AddProviderTypeItemID_GUID = selectedProviderType.providerTypeID_GUID;\r\n\r\n      //Set attributes and count\r\n      let attributes = resultObj.model;\r\n      this.ProviderAttributesOptions = [];\r\n      let data: any = this.getProviderAttributesOptions(attributes, true);\r\n      this.ProviderAttributesOptions = data[0];\r\n      this.ProviderAttributesCount = data[1];\r\n      this.IsAttributesLoaded = true;\r\n\r\n    });\r\n  }\r\n\r\n  setEditProviderAttributes(typeFullName) {\r\n    this.ProviderService.GetProviderAttributes(typeFullName).subscribe((result) => {\r\n      var resultObj = result as any;\r\n      //Set Provider type id on type change\r\n      this.LoadedProviders = resultObj.loadedProviders;\r\n      let selectedProviderType = this.LoadedProviders.find(obj => {\r\n        return obj.fullName === typeFullName;\r\n      });\r\n      this.EditProviderTypeItemID_GUID = selectedProviderType.providerTypeID_GUID;\r\n\r\n      //Set attributes and count\r\n      let attributes = resultObj.model;\r\n      this.EditProviderAttributesOptions = [];\r\n      let data: any = this.getProviderAttributesOptions(attributes, false);\r\n      this.EditProviderAttributesOptions = data[0];\r\n      this.EditProviderAttributesCount = data[1];\r\n\r\n    });\r\n  }\r\n\r\n  getProviderAttributesOptions(providerAttributes: any[], isAdd: boolean) {\r\n    let attributesOptions: any[] = [];\r\n    let attributesCount: number = 0;\r\n    let actionIndicate: string = isAdd ? \"Add\" : \"Edit\";\r\n    for (let i = 0; i < providerAttributes.length; i++) {\r\n\r\n      let objectAttributeOptions: any[] = [];\r\n      let isEncrypted: boolean = providerAttributes[i].isEncrypted;\r\n\r\n      let AttributeName = new TextBoxOptions();\r\n      AttributeName.name = actionIndicate + \"AttributeName\" + i;\r\n      AttributeName.hideLabel = true;\r\n      AttributeName.type = InputType.Text;\r\n      AttributeName.value = providerAttributes[i].name;\r\n      AttributeName.maxLength = 100;\r\n\r\n\r\n      let AttributeValue = new TextBoxOptions();\r\n      AttributeValue.name = actionIndicate + \"AttributeValue\" + i;\r\n      AttributeValue.hideLabel = true;\r\n      AttributeValue.type = isEncrypted ? InputType.Password : InputType.Text;\r\n      AttributeValue.value = providerAttributes[i].value;\r\n      AttributeValue.removeDefaultPasswordValidation = true;\r\n      AttributeValue.maxLength = 100;\r\n\r\n      let AttributeEncrypted = new CheckBoxOptions();\r\n      AttributeEncrypted.name = actionIndicate + \"AttributeEncrypted\" + i;\r\n      AttributeEncrypted.value = providerAttributes[i].isEncrypted;\r\n\r\n      objectAttributeOptions.push(AttributeName, AttributeValue, AttributeEncrypted);\r\n      attributesOptions.push(objectAttributeOptions);\r\n      attributesCount += 1;\r\n\r\n    }\r\n    return [attributesOptions, attributesCount];\r\n  }\r\n\r\n  deleteAttribute(deletedAttribute: any, isAdd: boolean) {\r\n    if (isAdd) {\r\n      let deletedAttrIndex: number = this.ProviderAttributesOptions.indexOf(deletedAttribute);\r\n      if (deletedAttrIndex !== -1) {\r\n        this.ProviderAttributesOptions.splice(deletedAttrIndex, 1);\r\n        for (var i = 0; i < deletedAttribute.length; i++) {\r\n          this.AddProviderForm.removeControl(deletedAttribute[i].Name);\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      let deletedAttrIndex: number = this.EditProviderAttributesOptions.indexOf(deletedAttribute);\r\n      if (deletedAttrIndex !== -1) {\r\n        this.EditProviderAttributesOptions.splice(deletedAttrIndex, 1);\r\n        for (var i = 0; i < deletedAttribute.length; i++) {\r\n          this.EditProviderForm.removeControl(deletedAttribute[i].Name);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  encryptedChange(isChecked, option, isAdd) {\r\n    let valueAttributeIndicator = isAdd ? \"AddAttributeValue\" : \"EditAttributeValue\";\r\n    let realtedValueOption = option.find(obj => {\r\n      return obj.Name.startsWith(valueAttributeIndicator);\r\n    });\r\n    if (isChecked)\r\n      realtedValueOption.Type = InputType.Password;\r\n    else\r\n      realtedValueOption.Type = InputType.Text;\r\n\r\n  }\r\n\r\n\r\n  //Add provider\r\n  showAddProviderModal(addProviderModal) {\r\n    this.showNoAttributesError = false;\r\n    this.utilityService.startBlockUI();\r\n    this.ProviderService.loadAddDropdowns().subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.addEditOrganizationsList = resultObj.organizations;\r\n      this.TypesList = resultObj.providerTypes;\r\n\r\n      this.ProviderAttributesOptions = [];\r\n      this.ProviderAttributesCount = 0;\r\n      this.IsAttributesLoaded = false;\r\n\r\n      this.AddProviderForm = new FormGroup({});\r\n\r\n      this.AddProviderFormOptions = new FormOptions();\r\n      this.AddProviderFormOptions.formGroup = this.AddProviderForm;\r\n      this.AddProviderFormOptions.getModelFunction = this.getAddProviderModel;\r\n      this.AddProviderFormOptions.serviceSubmitFunction = this.getAddProviderFunction;\r\n      this.AddProviderFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddName = new TextBoxOptions();\r\n      this.AddName.name = \"ProviderName\";\r\n      this.AddName.labelKey = \"ProviderName\";\r\n      this.AddName.type = InputType.Text;\r\n      this.AddName.value = null;\r\n      this.AddName.isRequired = true;\r\n      this.AddName.maxLength = 100;\r\n\r\n\r\n      this.AddDescription = new TextAreaOptions();\r\n      this.AddDescription.name = \"Description\";\r\n      this.AddDescription.labelKey = \"ProviderDescription\";\r\n      this.AddDescription.value = null;\r\n      this.AddDescription.maxLength = 250;\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.addOrganizations = new DropdownOptions();\r\n        this.addOrganizations.name = \"organizationId\";\r\n        this.addOrganizations.labelKey = \"Organization\";\r\n        this.addOrganizations.selectedItems = null;\r\n        this.addOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.addOrganizations.singleSelection = true;\r\n        this.addOrganizations.allowSearchFilter = true;\r\n      }\r\n\r\n      this.AddTypeOptions = new DropdownOptions();\r\n      this.AddTypeOptions.name = \"TypeFullName\";\r\n      this.AddTypeOptions.labelKey = \"ProviderType\";\r\n      this.AddTypeOptions.dataSource = this.TypesList;\r\n      this.AddTypeOptions.singleSelection = true;\r\n      this.AddTypeOptions.allowSearchFilter = true;\r\n      this.AddTypeOptions.placeholder = \"\";\r\n      this.AddTypeOptions.isRequired = true;\r\n\r\n      this.addIsDefault = new CheckBoxOptions();\r\n      this.addIsDefault.name = \"isDefault\";\r\n      this.addIsDefault.labelKey = \"IsDefault\";\r\n\r\n      this.modalService.open(addProviderModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n\r\n  }\r\n  getAddProviderModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddProviderForm.value as any;\r\n    let addModel: ProviderModel = new ProviderModel();\r\n    addModel.ProviderName = ResultModel.ProviderName;\r\n    addModel.Description = ResultModel.Description;\r\n    addModel.ProviderTypeItemID_GUID = this.AddProviderTypeItemID_GUID;\r\n    addModel.TypeFullName = ResultModel.TypeFullName;\r\n    for (let j = 0; j < this.ProviderAttributesCount; j++) {\r\n      let addAttributeName = ResultModel[\"AddAttributeName\" + j];\r\n      if (addAttributeName == undefined)\r\n        continue;\r\n\r\n      let addAttributeValue = ResultModel[\"AddAttributeValue\" + j];\r\n      let addAttributeEncrypted = ResultModel[\"AddAttributeEncrypted\" + j];\r\n\r\n      let providerAttr: ProviderAttributeModel = new ProviderAttributeModel();\r\n      providerAttr.Name = addAttributeName;\r\n      providerAttr.Value = addAttributeValue;\r\n      providerAttr.IsEncrypted = addAttributeEncrypted;\r\n      addModel.ProviderAttributes.push(providerAttr);\r\n    }\r\n    addModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.addOrganizations.name]\r\n    : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n    addModel.IsDefault = ResultModel[this.addIsDefault.name] != null ? ResultModel[this.addIsDefault.name] : false;\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddProviderFunction = (addModel: ProviderModel): Observable<any> => {\r\n    if (addModel.ProviderAttributes.length > 0) {\r\n      this.showNoAttributesError = false;\r\n      return this.ProviderService.AddProvider(addModel);\r\n    }\r\n    else {\r\n      this.showNoAttributesError = true;\r\n      return;\r\n    }\r\n  };\r\n\r\n  //Edit provider\r\n  showEditProviderModal(providerID: string, editProviderModal) {\r\n    this.showNoAttributesError = false;\r\n    this.ProviderId = providerID;\r\n\r\n    this.ProviderService.GetEditProviderData(providerID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let provider = resultObj.model;\r\n      let lists = resultObj.lists;\r\n      this.TypesList = lists.providerTypes;\r\n      this.addEditOrganizationsList=lists.organizations\r\n\r\n      this.EditProviderForm = new FormGroup({});\r\n      this.EditProviderFormOptions = new FormOptions();\r\n      this.EditProviderFormOptions.formGroup = this.EditProviderForm;\r\n      this.EditProviderFormOptions.getModelFunction = this.getEditProviderModel;\r\n      this.EditProviderFormOptions.serviceSubmitFunction = this.getEditProviderFunction;\r\n      this.EditProviderFormOptions.pagingReference = this.pagingElement;\r\n      this.EditProviderFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n\r\n      this.EditName = new TextBoxOptions();\r\n      this.EditName.name = \"ProviderName\";\r\n      this.EditName.labelKey = \"ProviderName\";\r\n      this.EditName.type = InputType.Text;\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = provider.providerName;\r\n      this.EditName.maxLength = 100;\r\n\r\n      this.EditDescription = new TextAreaOptions();\r\n      this.EditDescription.name = \"Description\";\r\n      this.EditDescription.labelKey = \"Description\";\r\n      this.EditDescription.value = provider.description;\r\n      this.EditDescription.maxLength = 250;\r\n\r\n      this.EditTypeOptions = new DropdownOptions();\r\n      this.EditTypeOptions.name = \"TypeFullName\";\r\n      this.EditTypeOptions.labelKey = \"ProviderType\";\r\n      this.EditTypeOptions.dataSource = this.TypesList;\r\n      this.EditTypeOptions.singleSelection = true;\r\n      this.EditTypeOptions.allowSearchFilter = true;\r\n      this.EditTypeOptions.placeholder = \"\";\r\n      this.EditTypeOptions.isRequired = true;\r\n      this.EditTypeOptions.selectedItems = provider.typeFullName;\r\n\r\n      this.EditProviderTypeItemID_GUID = provider.providerTypeItemID_GUID?.toLowerCase();\r\n\r\n      if (this.adminWithMultitenanEnabled) {\r\n        this.editOrganizations = new DropdownOptions();\r\n        this.editOrganizations.name = \"organizationId\";\r\n        this.editOrganizations.labelKey = \"Organization\";\r\n        this.editOrganizations.selectedItems = provider.organizationID_GUID;\r\n        this.editOrganizations.dataSource = this.addEditOrganizationsList;\r\n        this.editOrganizations.singleSelection = true;\r\n        this.editOrganizations.allowSearchFilter = true;\r\n      }\r\n      this.editIsDefault = new CheckBoxOptions();\r\n      this.editIsDefault.name = \"isDefault\";\r\n      this.editIsDefault.labelKey = \"IsDefault\";\r\n      this.editIsDefault.value=provider.isDefault;\r\n      this.editIsDefault.isDisabled=provider.isDefault; //desable if is default (cannot uncheck is default assign another as is default)\r\n\r\n\r\n      let editAttributesResult: any = this.getProviderAttributesOptions(provider.providerAttributes, false);\r\n      this.EditProviderAttributesOptions = editAttributesResult[0];\r\n      this.EditProviderAttributesCount = editAttributesResult[1];\r\n      this.modalService.open(editProviderModal);\r\n    });\r\n\r\n  }\r\n  getEditProviderModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditProviderForm.value as any;\r\n    let editModel = new ProviderModel();\r\n\r\n    editModel.ID_GUID = this.ProviderId;\r\n    editModel.ProviderName = ResultModel.ProviderName; //(##1)\r\n    editModel.Description = ResultModel.Description;\r\n    editModel.TypeFullName = ResultModel.TypeFullName;\r\n    editModel.ProviderTypeItemID_GUID = this.EditProviderTypeItemID_GUID;\r\n    editModel.OrganizationID_GUID = (this.adminWithMultitenanEnabled)\r\n    ? ResultModel[this.editOrganizations.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n      editModel.IsDefault = ResultModel[this.editIsDefault.name] ? ResultModel[this.editIsDefault.name] : true //it result model of isdefault==undefined that's mean it'disabled and isdefault=true\r\n\r\n    for (let j = 0; j < this.EditProviderAttributesCount; j++) {\r\n      let editAttributeName = ResultModel[\"EditAttributeName\" + j];\r\n      if (editAttributeName == undefined)\r\n        continue;\r\n      let editAttributeValue = ResultModel[\"EditAttributeValue\" + j];\r\n      let editAttributeEncrypted = ResultModel[\"EditAttributeEncrypted\" + j];\r\n\r\n      let providerAttr: ProviderAttributeModel = new ProviderAttributeModel();\r\n      providerAttr.Name = editAttributeName;\r\n      providerAttr.Value = editAttributeValue;\r\n      providerAttr.IsEncrypted = editAttributeEncrypted;\r\n      editModel.ProviderAttributes.push(providerAttr);\r\n    }\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditProviderFunction = (editModel): Observable<any> => {\r\n    if (editModel.ProviderAttributes.length > 0) {\r\n      this.showNoAttributesError = false;\r\n      return this.ProviderService.EditProvider(editModel);\r\n    }\r\n    else {\r\n      this.showNoAttributesError = true;\r\n      return;\r\n    }\r\n  };\r\n\r\n  //Delete provider\r\n  showDeleteProviderModal(providerID: string) {\r\n    this.deleteProviderId = providerID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteProviderId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteProvider;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteProvider = (id: string): Observable<any> => {\r\n    return this.ProviderService.DeleteProvider(id);\r\n  };\r\n\r\n  //Default provider\r\n  showDefaultProviderModal(defaultProviderModal) {\r\n    this.DefaultProviders = [];\r\n    this.ProviderService.GetDefaultProviders().subscribe((result) => {\r\n      let list = result as any;\r\n\r\n      this.DefaultProviderForm = new FormGroup({});\r\n      this.DefaultProviderFormOptions = new FormOptions();\r\n      this.DefaultProviderFormOptions.formGroup = this.DefaultProviderForm;\r\n      this.DefaultProviderFormOptions.getModelFunction = this.getDefaultProviderModel;\r\n      this.DefaultProviderFormOptions.serviceSubmitFunction = this.getDefaultProviderFunction;\r\n      this.DefaultProviderFormOptions.pagingReference = this.pagingElement;\r\n\r\n      for (let i = 0; i < list.length; i++) {\r\n        let provider: any = list[i];\r\n\r\n        let ProviderOption = new RadioButtonOptions();\r\n        ProviderOption.name = \"providerOption_\" + provider.providerTypeItemID_GUID;\r\n        ProviderOption.hideLabel = true;\r\n        ProviderOption.isRequired = true;\r\n        ProviderOption.viewType = ControlLayout.Horizontal;\r\n        let items: RadioButtonItem[] = [];\r\n        for (let j = 0; j < provider.providers.length; j++) {\r\n          let providerItem = provider.providers[j];\r\n          let item = new RadioButtonItem();\r\n          item.text = providerItem.text;\r\n          item.value = providerItem.value;\r\n          items.push(item);\r\n          ProviderOption.items = items;\r\n        }\r\n\r\n        let selectedProvider = provider.providers.filter((item) => { return item.selected == true; })[0];\r\n        ProviderOption.value = {\r\n          text: selectedProvider.text,\r\n          value: selectedProvider.value\r\n        };\r\n\r\n\r\n\r\n        let defProvider = {\r\n          Name: provider.providerTypeItemName,\r\n          ID: provider.providerTypeItemID_GUID,\r\n          ProvidersOption: ProviderOption\r\n        };\r\n        this.DefaultProviders.push(defProvider);\r\n      }\r\n      this.modalService.open(defaultProviderModal);\r\n\r\n    });\r\n  }\r\n  getDefaultProviderModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.DefaultProviderForm.value;\r\n    let defaultProvidersModel: DefaultProviderModel[] = [];\r\n\r\n    for (let i = 0; i < this.DefaultProviders.length; i++) {\r\n      let providerID = this.DefaultProviders[i].ID;\r\n      let selectedDefProviderID = ResultModel[\"providerOption_\" + providerID];\r\n      let defProvideModel: DefaultProviderModel = {\r\n        ProviderTypeItemID_GUID: providerID,\r\n        SelectedProviderID_GUID: selectedDefProviderID,\r\n        ProviderTypeItemName: \"\",\r\n        Providers: []\r\n      };\r\n      defaultProvidersModel.push(defProvideModel);\r\n\r\n    }\r\n    paramArray.push(defaultProvidersModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getDefaultProviderFunction = (DefaultProviderModel): Observable<any> => {\r\n    return this.ProviderService.SubmitDefaultProviders(DefaultProviderModel);\r\n  };\r\n\r\n  //Generate provider json\r\n  generateProviderJson() {\r\n    this.ProviderService.GenerateProviderJson().subscribe((result) => {\r\n      let FileDTO = result as any;\r\n      const file = new Blob([FileDTO], { type: \"application/json\" });\r\n      let fileName = this.utilityService.getResourceValue(\"Providers\") + \".json\";\r\n      saveAs(file, fileName);\r\n      window.location.reload();\r\n    });\r\n  }\r\n  //Test Email functions\r\n  showTestEmailModal(providerID: string, providerName: string, testEMailModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.testEmailProviderId = providerID;\r\n    this.testEmailProviderName = providerName;\r\n\r\n    this.testEmailForm = new FormGroup({});\r\n    this.testEmailFormOptions = new FormOptions();\r\n    this.testEmailFormOptions.formGroup = this.testEmailForm;\r\n    this.testEmailFormOptions.getModelFunction = this.getTestEmailModel;\r\n    this.testEmailFormOptions.serviceSubmitFunction = this.getTestEmailFunction;\r\n\r\n\r\n    this.emailTo = new TextBoxOptions();\r\n    this.emailTo.name = \"emailTo\";\r\n    this.emailTo.labelKey = \"To\";\r\n    this.emailTo.type = InputType.Email;\r\n    this.emailTo.isRequired = true;\r\n\r\n    this.emailSubject = new TextBoxOptions();\r\n    this.emailSubject.name = \"emailSubject\";\r\n    this.emailSubject.labelKey = \"EmailSubject\";\r\n    this.emailSubject.type = InputType.Text;\r\n    this.emailSubject.isRequired = true;\r\n\r\n    this.emailBody = new TextAreaOptions();\r\n    this.emailBody.name = \"emailBody\";\r\n    this.emailBody.labelKey = \"EmailBody\";\r\n    this.emailBody.isRequired = true;\r\n\r\n    this.modalService.open(testEMailModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  getTestEmailModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.testEmailForm.value as any;\r\n    let testEmailModel = new EmailProviderTesterModel();\r\n\r\n    testEmailModel.ProviderID = this.testEmailProviderId;\r\n    testEmailModel.ProviderName = this.testEmailProviderName;\r\n    testEmailModel.ToEmail = resultModel.emailTo;\r\n    testEmailModel.Subject = resultModel.emailSubject;\r\n    testEmailModel.Body = resultModel.emailBody;\r\n\r\n    paramArray.push(testEmailModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getTestEmailFunction = (testEmailModel): Observable<any> => {\r\n    return this.ProviderService.TestEmail(testEmailModel);\r\n  };\r\n\r\n  //Test SMS functions\r\n  showTestSMSModal(providerID: string, providerName: string, testSMSModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.testSMSProviderId = providerID;\r\n    this.testSMSProviderName = providerName;\r\n\r\n    this.testSMSForm = new FormGroup({});\r\n    this.testSMSFormOptions = new FormOptions();\r\n    this.testSMSFormOptions.formGroup = this.testSMSForm;\r\n    this.testSMSFormOptions.getModelFunction = this.getTestSMSModel;\r\n    this.testSMSFormOptions.serviceSubmitFunction = this.getTestSMSFunction;\r\n\r\n\r\n    this.smsTo = new PhoneOptions();\r\n    this.smsTo.name = \"smsTo\";\r\n    this.smsTo.labelKey = \"To\";\r\n    this.smsTo.isRequired = true;\r\n\r\n    this.smsBody = new TextAreaOptions();\r\n    this.smsBody.name = \"smsBody\";\r\n    this.smsBody.labelKey = \"SMS\";\r\n    this.smsBody.isRequired = true;\r\n\r\n    this.modalService.open(testSMSModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  getTestSMSModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.testSMSForm.value as any;\r\n    let testSMSModel = new SMSProviderTesterModel();\r\n\r\n    let internationalNumber: string = null;\r\n    if (resultModel.smsTo != null) {\r\n      internationalNumber = resultModel.smsTo.internationalNumber as string;\r\n      internationalNumber = internationalNumber.replace(/\\s/g, \"\");\r\n    }\r\n\r\n    testSMSModel.ProviderID = this.testSMSProviderId;\r\n    testSMSModel.ProviderName = this.testSMSProviderName;\r\n    testSMSModel.ToMobileNumber = internationalNumber;\r\n    testSMSModel.Message = resultModel.smsBody;\r\n\r\n    paramArray.push(testSMSModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getTestSMSFunction = (testSMSModel): Observable<any> => {\r\n    return this.ProviderService.TestSMS(testSMSModel);\r\n  };\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n  <div *ngIf=\"ShowPageContent\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n          <form [formGroup]=\"ProviderForm\">\r\n            <!--(OnChange)=\"searchClientSide($event)\" -->\r\n            <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"ProviderForm\"></BBSF-TextBox>\r\n          </form>\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <!-- begin::Menu -->\r\n          <div ngbDropdown class=\"d-inline-block\" [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n            <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n              class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n              <i class=\"fas fa-filter me-1\"></i>\r\n              {{utilityService.getResourceValue(\"Filter\")}}\r\n            </button>\r\n            <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n              class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n              <form [formGroup]=\"ProviderForm\">\r\n                <div class=\"px-7 py-5\">\r\n                  <div class=\"row\">\r\n                    <div class=\"col-lg-12\">\r\n                      <div class=\"mb-10\">\r\n                        <BBSF-DropdownList #providerTypesDDL [options]=\"providerTypesFilterOption\"\r\n                          [group]=\"ProviderForm\"></BBSF-DropdownList>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-lg-12\">\r\n                      <div class=\"mb-10\">\r\n                        <BBSF-DropdownList #sortingFilterDDL [options]=\"sortingFilterOption\"\r\n                          [group]=\"ProviderForm\"></BBSF-DropdownList>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-lg-12\" *ngIf=\"adminWithMultitenanEnabled\">\r\n                      <div class=\"mb-10\">\r\n                        <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                          [group]=\"ProviderForm\"></BBSF-DropdownList>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"d-flex justify-content-end\">\r\n                    <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"providerFiltersBtn\">\r\n                      {{utilityService.getResourceValue(\"Reset\")}}\r\n                    </button>\r\n                  </div>\r\n                </div>\r\n              </form>\r\n            </div>\r\n          </div>\r\n          <button href=\"javascript:;\" (click)=\"generateProviderJson()\"\r\n            class=\"btn btn-sm btn-light-primary me-3 bnsights-btn-export\">\r\n            <i class=\"fas fa-file-export me-1\"></i>\r\n            {{utilityService.getResourceValue(\"GenerateProviderJson\")}}\r\n          </button>\r\n\r\n          <!-- <button type=\"button\" title='utilityService.getResourceValue(\"SelectDefaultProvider\")' class=\"btn btn-sm btn-light-primary me-3 \" (click)=\"showDefaultProviderModal(DefaultProviderModal)\">\r\n            <i class=\"fas fa-hand-pointer me-1\"></i>\r\n            {{utilityService.getResourceValue(\"SelectDefaultProvider\")}}\r\n          </button> -->\r\n          <button type=\"button\" title='utilityService.getResourceValue(\"Add\")' class=\"btn btn-sm btn-primary\"\r\n            (click)=\"showAddProviderModal(AddProviderModal)\">\r\n            <i class=\"fas fa-plus me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Add\")}}\r\n          </button> <!-- end::Menu -->\r\n        </div>\r\n      </div>\r\n      <!-- end::Header -->\r\n      <!-- begin::Body -->\r\n      <div class=\"card-body py-3\">\r\n        <div class=\"table-responsive\">\r\n          <!-- begin::Table -->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Status\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Default\")}}</th>\r\n                <th *ngIf=\"adminWithMultitenanEnabled\" class=\"min-w-150px\">\r\n                  {{ utilityService.getResourceValue('Organization') }}\r\n                </th>\r\n                <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody id=\"listingContainer\" *ngFor=\"let providerGroup of clientSidePagingResult\"\r\n              class=\"fw-bold text-gray-600 border-0\">\r\n\r\n              <tr *ngFor=\"let provider of providerGroup.providers\">\r\n                <td>\r\n                  <div class=\"text-dark\">{{provider.providerName}}</div>\r\n                  <div>{{provider.description}}</div>\r\n                </td>\r\n                <td>\r\n                  <span class=\"badge badge-light-primary\" *ngIf=\"provider.isRunning;else other_content\">\r\n                    {{utilityService.getResourceValue(\"Running\")}}\r\n                  </span>\r\n                  <ng-template #other_content>\r\n                    <span class=\"badge badge-light-danger\">\r\n                      {{utilityService.getResourceValue(\"Stopped\")}}\r\n                    </span>\r\n                  </ng-template>\r\n\r\n                </td>\r\n                <td>\r\n                  <span class=\"badge badge-light-success fw-bolder\" *ngIf=\"provider.isDefault;else default_no\">\r\n                    {{utilityService.getResourceValue(\"Yes\")}}\r\n                  </span>\r\n                  <ng-template #default_no>\r\n                    <span class=\"badge badge-light fw-bolder\">\r\n                      {{utilityService.getResourceValue(\"No\")}}\r\n                    </span>\r\n                  </ng-template>\r\n                </td>\r\n                <td *ngIf=\"adminWithMultitenanEnabled\">{{ provider.organizationName ?? '-' }}</td>\r\n                <td>\r\n                  <div>\r\n                    <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                      class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                      <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                    </button>\r\n                    <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                      <a class=\"drop-item px-3\" ngbDropdownItem\r\n                        (click)=\"showEditProviderModal(provider.iD_GUID, EditProviderModal)\">\r\n                        <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                      </a>\r\n                      <a ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                        (click)=\"showDeleteProviderModal(provider.iD_GUID)\">\r\n                        <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                      </a>\r\n                      <a *ngIf=\"provider.isEMail && provider.isRunning\" ngbDropdownItem class=\"drop-item px-3\"\r\n                        (click)=\"showTestEmailModal(provider.iD_GUID,provider.providerName,TestEmailModal)\">\r\n                        <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"TestEmail\")}}</span>\r\n                      </a>\r\n                      <a *ngIf=\"provider.isSMS && provider.isRunning\" ngbDropdownItem class=\"drop-item px-3\"\r\n                        (click)=\"showTestSMSModal(provider.iD_GUID,provider.providerName,TestSMSModal)\">\r\n                        <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"TestSMS\")}}</span>\r\n                      </a>\r\n                    </mat-menu>\r\n                  </div>\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"providerGroup.providers.length == 0\">\r\n                <td colspan=\"4\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n            <tbody *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <tr>\r\n                <td colspan=\"4\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-footer border-0\">\r\n        <BBSF-Paging (Items)=\"setProviderListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"ProviderPaging\"\r\n          [group]=\"ProviderForm\" #ProviderPagingViewElement>\r\n        </BBSF-Paging>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n  <!--end::Providers list-->\r\n</div>\r\n\r\n<!-- Add Modal -->\r\n<ng-template #AddProviderModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">\r\n        {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Provider\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddProviderFormOptions\">\r\n\r\n      <BBSF-TextBox [options]=\"AddName\" [group]=\"AddProviderForm\">\r\n      </BBSF-TextBox>\r\n      <BBSF-TextArea [options]=\"AddDescription\" [group]=\"AddProviderForm\">\r\n      </BBSF-TextArea>\r\n      @if (adminWithMultitenanEnabled) {\r\n      <BBSF-DropdownList [options]=\"addOrganizations\" [group]=\"AddProviderForm\"></BBSF-DropdownList>\r\n      }\r\n\r\n      <BBSF-DropdownList [options]=\"AddTypeOptions\" [group]=\"AddProviderForm\"\r\n        (onChange)=\"setAddProviderAttributes($event)\">\r\n      </BBSF-DropdownList>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"addIsDefault\" [group]=\"AddProviderForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div *ngIf=\"IsAttributesLoaded\">\r\n        <div class=\"table-responsive\">\r\n          <!-- begin::Table -->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ProviderAttributeName\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ProviderAttributeValue\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Encrypted\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody class=\"fw-bold text-gray-600 border-0\">\r\n              <tr *ngFor=\"let option of ProviderAttributesOptions;let i=index;\">\r\n\r\n                <td>\r\n                  <BBSF-TextBox [options]=\"option[0]\" [group]=\"AddProviderForm\">\r\n                  </BBSF-TextBox>\r\n                </td>\r\n                <td>\r\n                  <BBSF-TextBox [options]=\"option[1]\" [group]=\"AddProviderForm\">\r\n                  </BBSF-TextBox>\r\n                </td>\r\n                <td>\r\n                  <BBSF-CheckBox [options]=\"option[2]\" [group]=\"AddProviderForm\"\r\n                    (onChange)=\"encryptedChange($event,option,true)\">\r\n                  </BBSF-CheckBox>\r\n                </td>\r\n\r\n                <td>\r\n                  <a class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteAttribute(option,true)\">\r\n                    <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                  </a>\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"ProviderAttributesOptions.length == 0\">\r\n                <td colspan=\"4\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n              <tr>\r\n                <td *ngIf=\"showNoAttributesError\" colspan=\"4\" class=\"text-danger\">\r\n                  {{utilityService.getResourceValue(\"AtLeastOneItemRequired\")}}\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseProviderModal id=\"CloseAddProviderModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!-- Edit model -->\r\n<ng-template #EditProviderModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">\r\n        {{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Provider\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditProviderFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditName\" [group]=\"EditProviderForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"EditDescription\" [group]=\"EditProviderForm\">\r\n          </BBSF-TextArea>\r\n        </div>\r\n      </div>\r\n      @if (adminWithMultitenanEnabled) {\r\n      <BBSF-DropdownList [options]=\"editOrganizations\" [group]=\"EditProviderForm\"></BBSF-DropdownList>\r\n      }\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditTypeOptions\" [group]=\"EditProviderForm\"\r\n            (onChange)=\"setEditProviderAttributes($event)\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-CheckBox [options]=\"editIsDefault\" [group]=\"EditProviderForm\">\r\n          </BBSF-CheckBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"table-responsive\">\r\n          <!-- begin::Table -->\r\n          <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n            <thead>\r\n              <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ProviderAttributeName\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ProviderAttributeValue\")}}</th>\r\n                <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Encrypted\")}}</th>\r\n                <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n              </tr>\r\n            </thead>\r\n            <tbody class=\"fw-bold text-gray-600 border-0\">\r\n              <tr *ngFor=\"let option of EditProviderAttributesOptions;let i=index;\">\r\n\r\n                <td>\r\n                  <BBSF-TextBox [options]=\"option[0]\" [group]=\"EditProviderForm\">\r\n                  </BBSF-TextBox>\r\n                </td>\r\n                <td>\r\n                  <BBSF-TextBox [options]=\"option[1]\" [group]=\"EditProviderForm\">\r\n                  </BBSF-TextBox>\r\n                </td>\r\n                <td>\r\n                  <BBSF-CheckBox [options]=\"option[2]\" [group]=\"EditProviderForm\"\r\n                    (onChange)=\"encryptedChange($event,option,true)\">\r\n                  </BBSF-CheckBox>\r\n                </td>\r\n\r\n                <td>\r\n                  <a class=\"btn btn-icon btn-light-danger btn-sm\" (click)=\"deleteAttribute(option,false)\">\r\n                    <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                  </a>\r\n                </td>\r\n              </tr>\r\n              <tr *ngIf=\"EditProviderAttributesOptions.length == 0\">\r\n                <td colspan=\"4\">\r\n                  <lib-empty-data></lib-empty-data>\r\n                </td>\r\n              </tr>\r\n              <tr>\r\n                <td *ngIf=\"showNoAttributesError\" colspan=\"4\" class=\"text-danger\">\r\n                  {{utilityService.getResourceValue(\"AtLeastOneItemRequired\")}}\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditProviderModal id=\"CloseEditProviderModal\" type=\"button\" data-dismiss=\"modal\"\r\n          (click)=\"modal.dismiss()\" class=\"btn btn-light me-3 btn-sm\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!--Default Provider  Modal-->\r\n<ng-template #DefaultProviderModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"SelectDefaultProvider\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"DefaultProviderFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\" *ngFor=\"let defProvider of DefaultProviders;let i=index;\">\r\n          <h3 class=\"text-muted mb-4 fw-boldest\">{{defProvider.Name}}</h3>\r\n          <input type=\"hidden\" value=\"{{defProvider.ID}}\" />\r\n          <BBSF-RadioButton [options]=\"defProvider.ProvidersOption\" [group]=\"DefaultProviderForm\"></BBSF-RadioButton>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseDefaultProviderModal id=\"CloseDefaultProviderModal\" type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--Test Email Modal-->\r\n<ng-template #TestEmailModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">\r\n        {{utilityService.getResourceValue(\"TestEmailServiceProvider\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"testEmailFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"emailTo\" [group]=\"testEmailForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"emailSubject\" [group]=\"testEmailForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"emailBody\" [group]=\"testEmailForm\">\r\n          </BBSF-TextArea>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\" class=\"btn btn-light me-3 btn-sm\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Test\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--Test SMS Modal-->\r\n<ng-template #TestSMSModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">\r\n        {{utilityService.getResourceValue(\"TestSMSServiceProvider\")}}\r\n      </h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"testSMSFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-Phone [options]=\"smsTo\" [group]=\"testSMSForm\">\r\n          </BBSF-Phone>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextArea [options]=\"smsBody\" [group]=\"testSMSForm\">\r\n          </BBSF-TextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\" class=\"btn btn-light me-3 btn-sm\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Test\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-providers',\r\n    templateUrl: './providers.component.html',\r\n    standalone: false\r\n})\r\nexport class ProvidersComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ProviderComponent } from './provider/provider.component';\r\nimport { ProvidersComponent } from './providers.component';\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\", component: ProvidersComponent ,children:[\r\n      { path: \"Providers\", component: ProviderComponent},\r\n      { path: \"\", redirectTo: 'Providers', pathMatch: 'full'},\r\n\r\n \r\n ]}\r\n \r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\nexports: [RouterModule]\r\n})\r\nexport class ProvidersRoutingModule { }\r\n","import { ProviderComponent } from './provider/provider.component';\r\nimport { ProvidersComponent } from './providers.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { ProvidersRoutingModule } from './providers-routing.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ProviderService } from '../shared/Services/provider.service';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [ProviderComponent, ProvidersComponent],\r\n  imports: [\r\n    ProvidersRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    ProviderService\r\n  ]\r\n})\r\nexport class ProvidersModule { }\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\nimport { LicenseModel } from \"../models/LicenseModel/LicenseModel\";\r\nimport { ActivationModel } from \"../models/UserModels/ActivationModel\";\r\nimport { UAEPassLoginResultModel } from \"../models/UserModels/IdentityModel\";\r\nimport { TwoFactorAuthenticationModel } from \"../models/AccountModels/twoFactorAuthenticationModel\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n  ApiUrl = \"/account/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  forgotPassword(email: string) {\r\n    return this.http.post(this.ApiUrl + 'forgotPassword', JSON.stringify(email));\r\n  }\r\n  getResetPassword(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'ResetPassword', params);\r\n  }\r\n\r\n  resetPassword(model: ActivationModel) {\r\n    return this.http.post(this.ApiUrl + 'ResetPassword', model);\r\n  }\r\n  changePassword(model: ActivationModel) {\r\n    return this.http.post(this.ApiUrl + 'ChangePassword', model);\r\n  }\r\n\r\n  getActivation(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'Activate', params);\r\n  }\r\n\r\n  activate(model: ActivationModel) {\r\n    return this.http.post(this.ApiUrl + 'Activate', model);\r\n  }\r\n\r\n  uploadLicense(File: LicenseModel) {\r\n    return this.http.post(this.ApiUrl + 'UploadLicense', File);\r\n  }\r\n\r\n  UpdateLanguageCookieAnonymous(langKey: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"langKey\", langKey);\r\n    return this.http.get(this.ApiUrl + 'ChangeLanguageAnonymous', params);\r\n  }\r\n\r\n  login(model: any) {\r\n    return this.http.post(this.ApiUrl + 'Login', model);\r\n  }\r\n\r\n  UAEPassLogin(model: any) {\r\n    return this.http.post<UAEPassLoginResultModel>(this.ApiUrl + 'UAEPassLogin', model);\r\n  }\r\n  loginWithWindowsAuthentication() {\r\n    return this.http.get(this.ApiUrl + 'LoginWithWindowsAuthentication');\r\n  }\r\n  verify2FA(model: TwoFactorAuthenticationModel) {\r\n    return this.http.post(this.ApiUrl + 'Verify2FA', model);\r\n  }\r\n  resendOTP(id:string){\r\n    return this.http.get(`${this.ApiUrl}Resend2FACode/${id}`);\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\n\r\n@Component({\r\n  selector: 'app-auth-callback',\r\n  templateUrl: './auth-callback.component.html',\r\n  styleUrls: ['./auth-callback.component.css'],\r\n  standalone: false\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n\r\n  error: boolean;\r\n  code: string;\r\n  state: string;\r\n  errorString: string = undefined;\r\n  logoutTimeout = parseInt(this.environmentService.getEnvironmentObject()[\"BBSF_UAEPass_ErrorTimeoutInSec\"] ?? \"20\") * 1000;\r\n\r\n  constructor(\r\n    private authService: AuthService,\r\n    private accountService: AccountService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private environmentService: EnvironmentService,\r\n    public utilityService: UtilityService) { }\r\n\r\n  async ngOnInit() {\r\n    this.loginCallback();\r\n  }\r\n\r\n  loginCallback() {\r\n    let redirectURL = `${this.environmentService.getBaseUrl()}${this.environmentService.getUAEPassRedirectUrl()}`;\r\n\r\n    if (this.route.snapshot.queryParamMap.get('error_description') || this.route.snapshot.queryParamMap.get('error')) {\r\n\r\n      this.error = true;\r\n      let urlError = this.route.snapshot.queryParamMap.get('error_description') || this.route.snapshot.queryParamMap.get('error');\r\n      this.errorString = urlError === 'null' ? \"SomethingWentWrong\" : urlError;\r\n\r\n      setTimeout(() => {\r\n        this.router.navigate(['/Admin/account/login']);\r\n      }, this.logoutTimeout);\r\n      return;\r\n    }\r\n\r\n    this.code = this.route.snapshot.queryParamMap.get('code');\r\n    this.state = this.route.snapshot.queryParamMap.get('state');\r\n\r\n    let lang = localStorage.getItem('language');\r\n\r\n    if (!lang) {\r\n      localStorage.setItem('language', this.state);\r\n      lang = this.state;\r\n    }\r\n\r\n    this.accountService\r\n      .UAEPassLogin({ accessCode: this.code, redirectUrl: redirectURL, organizationID_GUID: '4A4F22F9-97BA-4928-82A3-B689B413BCAC', lang: lang })\r\n      .subscribe({\r\n        next: async res => {\r\n          if (!res.hasError) {\r\n            await this.authService.handleAccessToken(res.result);\r\n            localStorage.setItem('language', this.state);\r\n            this.router.navigate([this.authService.getUrl()]);\r\n            return;\r\n          } else {\r\n            this.error = res.hasError;\r\n            this.errorString = res.errorMsg;\r\n            setTimeout(() => {\r\n              this.authService.logoutFromUAEPass();\r\n            }, this.logoutTimeout);\r\n            return;\r\n          }\r\n        },\r\n        error: err => {\r\n          this.error = true;\r\n          this.errorString = \"SomethingWentWrong\";\r\n          setTimeout(() => {\r\n            this.authService.logoutFromUAEPass();\r\n          }, this.logoutTimeout);\r\n          return;\r\n        }\r\n      });\r\n  }\r\n}\r\n","<div class=\"w-100\">\r\n  <div *ngIf=\"error\" class=\"row justify-content-center\">\r\n    <div class=\"col-12 text-center\">\r\n      <div class=\"alert alert-warning\" role=\"alert\">\r\n        {{utilityService.getResourceValue(errorString)}}\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { AppearanceConfigurationService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'app-authentication',\r\n    templateUrl: './authentication.component.html',\r\n    standalone: false\r\n})\r\nexport class AuthenticationComponent implements OnInit {\r\n\r\n  logo: string = \"\";\r\n\r\n  constructor(private appearanceConfigurationService: AppearanceConfigurationService) { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  loadLogo() {\r\n    return this.appearanceConfigurationService.getLogo();\r\n  }\r\n\r\n}\r\n","<div class=\"d-flex flex-column flex-root h-100\">\r\n    <!--begin::Authentication - Sign-in -->\r\n    <div class=\"d-flex flex-column flex-lg-row flex-column-fluid h-100\">\r\n        <!--begin::Aside-->\r\n        <div class=\"d-flex flex-column flex-lg-row-auto w-xl-600px positon-xl-relative bg-custom\">\r\n            <div class=\"d-flex flex-column position-xl-fixed top-0 bottom-0 w-xl-600px scroll-y\">\r\n                <div class=\"d-flex flex-row-fluid flex-column text-center p-10 pt-lg-20\">\r\n                    <!--begin::Logo-->\r\n                    <img alt=\"Logo\" [src]=\"loadLogo()\" class=\"h-60px mt-10\">\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <!--end::Aside-->\r\n        <div class=\"d-flex flex-column flex-lg-row-fluid py-10\">\r\n            <div class=\"d-flex flex-center flex-column flex-column-fluid\">\r\n                <div class=\"w-lg-500px p-10 p-lg-15 mx-auto w-100\">\r\n                    <router-outlet></router-outlet>\r\n                </div>\r\n            </div>\r\n\r\n        </div>\r\n    </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthCallbackComponent } from './auth-callback/auth-callback.component';\r\nimport { AuthenticationComponent } from './authentication.component';\r\n\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"authentication\",\r\n    component: AuthenticationComponent,\r\n    children: [\r\n      {\r\n        path: \"auth-callback\",\r\n        component: AuthCallbackComponent\r\n      },\r\n\r\n    ]\r\n  }\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class AuthenticationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { RouterModule } from '@angular/router';\r\nimport { AuthenticationRoutingModule } from './authentication.routing';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AuthenticationComponent } from './authentication.component';\r\nimport { AuthCallbackComponent } from './auth-callback/auth-callback.component';\r\nimport { AuthService, BBSFUtilitiesModule } from '@bnsights/bbsf-utilities';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AuthCallbackComponent,\r\n    AuthenticationComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    AuthenticationRoutingModule,\r\n    BBSFUtilitiesModule\r\n  ],\r\n  providers: [\r\n    AuthService\r\n  ]\r\n})\r\nexport class AuthenticationModule { }\r\n","export class UserSearchParamDTO {\r\n    SearchText: string;\r\n    PermsetIDs: string;\r\n    AccountStatusIDs: string;\r\n    LockedStatusIDs: string;\r\n    ActivityStatusIDs: string;\r\n    DepartmentIDs: string;\r\n    organizationIDs: string;\r\n}","import { UserSearchParamDTO } from \"./UserSearchParamDTO\";\r\nimport { EnglishArabicDTO, ProfilePictureDTO } from '@bnsights/bbsf-controls';\r\n\r\nexport class AddUserModel {\r\n  constructor() {\r\n    this.PermissionSets = new Array<string>();\r\n    this.LangKey = \"\";\r\n    this.SendActivationMail = true;\r\n    this.Filters = new UserSearchParamDTO();\r\n    this.KeyMap = {};\r\n  }\r\n  ID: number = 0;\r\n  Username: string = \"\";\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  NameEN: string = \"\";\r\n  NameAR: string = \"\";\r\n  LangKey: string = \"\";\r\n  Nationality: string = \"\";\r\n  EID: number = null;\r\n  PermissionSets: string[] = [];\r\n  Permissions: string[] = [];\r\n  TemplateID?: number = null;\r\n  TemplateSysName: string = \"\";\r\n  OrganizationID_GUID: string;\r\n  SendActivationMail: boolean = false;\r\n  ActivationPageURL: string = \"\";\r\n  DepartmentID_GUID: string;\r\n  SamAccount: string = \"\";\r\n  Email: string = \"\";\r\n  IsAnonymous: boolean = false;\r\n  KeyMap: Record<string, string> = {};\r\n  Token: string = \"\";\r\n  EmailProviderName: string = \"\";\r\n  SMSProviderName: string = \"\";\r\n  ExtraParams: number = 0;\r\n  ValidationError: string = \"\";\r\n  PhoneInputMobile: string = \"\";\r\n  Filters: UserSearchParamDTO = new UserSearchParamDTO();\r\n  ProfileImage: ProfilePictureDTO;\r\n  ForceUserChangePassword: boolean = false;\r\n\r\n}\r\n","import { EnglishArabicDTO, ProfilePictureDTO } from \"@bnsights/bbsf-controls\";\r\nimport { UserSearchParamDTO } from \"./UserSearchParamDTO\";\r\n\r\nexport class EditUserModel {\r\n  PermissionSet: string;\r\n  ID_GUID: string;\r\n  NameEN: string;\r\n  NameAR: string;\r\n  Username: string;\r\n  SamAccount: string;\r\n  Email: string;\r\n  Nationality: string;\r\n  EID: number;\r\n  ValidationError: string;\r\n  EntityID?: number;\r\n  Mobile: string;\r\n  IsCurrent: number;\r\n  PermissionSetIDs: string[] = new Array<string>();\r\n  PermissionIDs: string[] = new Array<string>();\r\n  SendMail: boolean;\r\n  IsAnonymous: boolean;\r\n  Filters: UserSearchParamDTO;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  ProfileImage: ProfilePictureDTO;\r\n  OrganizationID_GUID: string;\r\n  DepartmentID_GUID: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Country, CustomValidation, FilterType, InputType, MultiLingualTextBoxOptions, PhoneOptions, TextBoxOptions, ToggleSlideOptions, EnglishArabicDTO, FormOptions, PagingActionMode, ProfileImageUploadOptions, ImageType, PagingComponent, PermissionSets, DropdownListComponent } from '@bnsights/bbsf-controls';\r\nimport { ControlLayout, DropdownOptions, FilterItem, PagingOptions } from '@bnsights/bbsf-controls';\r\nimport { AddUserModel } from '../shared/models/UserModels/AddUserModel';\r\nimport { DropdownsResponseModel } from '../shared/models/UserModels/DropdownsResponseModel';\r\nimport { EditUserModel } from '../shared/models/UserModels/EditUserModel';\r\nimport { UserService } from '../shared/Services/userService.service';\r\nimport { LicenseService } from '../shared/Services/LicenseService.service';\r\nimport { saveAs } from 'file-saver';\r\nimport { PageInfoService } from '../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { Constants } from '../shared/constants';\r\nimport { UserModelDTO } from '../shared/models';\r\n\r\n@Component({\r\n  selector: 'lib-users',\r\n  templateUrl: './users.component.html',\r\n  standalone: false\r\n})\r\nexport class UsersComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ProductionMode: boolean;\r\n  ApiUrl = \"/api/admin/Users/\";\r\n\r\n  //Filter and paging components\r\n  UsersForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  permissionSetsOptions: DropdownOptions;\r\n  accountStatusOptions: DropdownOptions;\r\n  lockedStatusOptions: DropdownOptions;\r\n  departmentsOptions: DropdownOptions;\r\n  organizationOptions: DropdownOptions;\r\n  TextInputFilter: FilterItem;\r\n  permissionSetsFilter: FilterItem;\r\n  lockedStatusFilter: FilterItem;\r\n  accountStatusFilter: FilterItem;\r\n  departmentsFilter: FilterItem;\r\n  organizationsFilter: FilterItem;\r\n  IsFilterLoaded: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n  UserPagingResult: any[] = [];\r\n  clientSidePagingResult: UserModelDTO[] = [];\r\n  UserPaging: PagingOptions;\r\n  @ViewChild('UserPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //#region Required lists\r\n  SelectedUserList = [];\r\n  permissionSetList = [];\r\n  permissionsList = [];\r\n  accountStatusList = [];\r\n  lockedStatusList = [];\r\n  departmentsList = [];\r\n  countriesList = [];\r\n  organizationList = [];\r\n  //#endregion\r\n\r\n  @ViewChild('permissionSetDDL', { static: false }) permissionSetDDL: DropdownListComponent;\r\n  @ViewChild('accountStatusDDL', { static: false }) accountStatusDDL: DropdownListComponent;\r\n  @ViewChild('lockedStatusDDL', { static: false }) lockedStatusDDL: DropdownListComponent;\r\n  @ViewChild('departmentsDDL', { static: false }) departmentsDDL: DropdownListComponent;\r\n  @ViewChild('organizationDDL', { static: false }) organizationDDL: DropdownListComponent;\r\n\r\n\r\n  //#region Add Model Controls\r\n  AddUserForm = new FormGroup({});\r\n  AddUserFormOptions = new FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddMobileNumber: PhoneOptions;\r\n  AddUsername: TextBoxOptions;\r\n  AddSamAccount: TextBoxOptions;\r\n  AddUserDepartment: DropdownOptions;\r\n  AddSendActivationEmail: ToggleSlideOptions;\r\n  AddUserPermissionSet: DropdownOptions;\r\n  AddUserPermissions: DropdownOptions;\r\n  AddProfileImage: ProfileImageUploadOptions;\r\n  AddUserEID: TextBoxOptions;\r\n  AddUserNationality: DropdownOptions;\r\n  AddForceUserChangePassword: ToggleSlideOptions;\r\n  addUserOrganizations: DropdownOptions;\r\n  //#endregion\r\n\r\n  //#region Edit Model Controls\r\n  EditUserForm = new FormGroup({});\r\n  EditUserFormOptions = new FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditMobileNumber: PhoneOptions;\r\n  EditUsername: TextBoxOptions;\r\n  EditEmail: TextBoxOptions;\r\n  EditSamAccount: TextBoxOptions;\r\n  EditUserDepartment: DropdownOptions;\r\n  EditUserPermissionSet: DropdownOptions;\r\n  EditUserPermissions: DropdownOptions;\r\n  editUserOrganization: DropdownOptions;\r\n  EditProfileImage: ProfileImageUploadOptions;\r\n  EditUserEID: TextBoxOptions;\r\n  EditUserNationality: DropdownOptions;\r\n  UserId: string;\r\n  //#endregion\r\n\r\n\r\n  //#region Deactivate/Activate User Model Controls\r\n  ShowActivateModelData: boolean = false;\r\n  ActivatorDeactivateUserList: any[] = [];\r\n  Name: string;\r\n  Email: string;\r\n  //#endregion\r\n\r\n  //Reset Password User Model Controls\r\n  ResetPasswordUserList: any[] = [];\r\n\r\n  //set Password User Model Controls\r\n  SetUserPasswordForm = new FormGroup({});\r\n  SetUserPasswordFormOptions = new FormOptions;\r\n  Password: TextBoxOptions;\r\n  PasswordConfirmation: TextBoxOptions;\r\n  customValidation: CustomValidation = new CustomValidation();\r\n  setPasswordUserToken: string;\r\n\r\n  //Confirmation  Model Controls\r\n  ConfirmationModalType: number = 0;\r\n  ConfirmationMessage: string = \"\";\r\n\r\n  //Users selection\r\n  activatedUsersSelected: number = 0;\r\n  deActivatedUsersSelected: number = 0;\r\n  showActivateBtn: boolean = false;\r\n  showDeactivateBtn: boolean = false;\r\n  showSetPassBtn: boolean = false;\r\n  showResetPassBtn: boolean = false;\r\n  showSendEmailBtn: boolean = false;\r\n  showDeleteBtn: boolean = false;\r\n  showGeneralBtns: boolean = true;\r\n  allSelected: boolean = false;\r\n\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n\r\n  constructor(private authService: AuthService, public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService, private environmentService: EnvironmentService, private pageInfoService: PageInfoService,\r\n    private userService: UserService, private licenseService: LicenseService, private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n  ngOnInit() {\r\n    this.ShowPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Users\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      {\r\n        title: this.utilityService.getResourceValue(\"Home\"),\r\n        path: '/Admin/Home',\r\n        isSeparator: false, isActive: false\r\n      },\r\n      {\r\n        title: '',\r\n        path: '',\r\n        isSeparator: true, isActive: false\r\n      }\r\n    ];\r\n\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n  }\r\n\r\n  //Paging functions\r\n  setUsersListResult(result) {\r\n    this.UserPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.resetUsersCount();\r\n    this.disableButtons();\r\n    this.allSelected = false;\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.username.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.UserPagingResult;\r\n  }\r\n\r\n  //#region Initialize filters and paging\r\n  initializePage() {\r\n\r\n    // Permission Sets init\r\n    this.permissionSetsOptions = new DropdownOptions();\r\n    this.permissionSetsOptions.name = \"permissionsets\";\r\n    this.permissionSetsOptions.labelKey = \"PermissionSets\";\r\n    this.permissionSetsOptions.singleSelection = true;\r\n    this.permissionSetsOptions.allowSearchFilter = true;\r\n    this.permissionSetsOptions.placeholder = \"\";\r\n\r\n    // Account Status init\r\n    this.accountStatusOptions = new DropdownOptions();\r\n    this.accountStatusOptions.name = \"accountstatus\";\r\n    this.accountStatusOptions.labelKey = \"AccountStatus\";\r\n    this.accountStatusOptions.singleSelection = true;\r\n\r\n    // Locked Status init\r\n    this.lockedStatusOptions = new DropdownOptions();\r\n    this.lockedStatusOptions.name = \"lockedstatus\";\r\n    this.lockedStatusOptions.labelKey = \"LockedStatus\";\r\n    this.lockedStatusOptions.singleSelection = true;\r\n\r\n    // departments init\r\n    this.departmentsOptions = new DropdownOptions();\r\n    this.departmentsOptions.name = \"departments\";\r\n    this.departmentsOptions.labelKey = \"Departments\";\r\n    this.departmentsOptions.singleSelection = false;\r\n    this.departmentsOptions.allowSearchFilter = true;\r\n\r\n    this.organizationOptions = new DropdownOptions();\r\n    this.organizationOptions.name = \"organization\";\r\n    this.organizationOptions.labelKey = \"Organizations\";\r\n    this.organizationOptions.singleSelection = true;\r\n    this.organizationOptions.allowSearchFilter = true;\r\n\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.extraClasses = \"Users\";\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByNameOrEmail\");\r\n\r\n\r\n    //Filters\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = this.searchTextBox.name;\r\n    this.TextInputFilter.actionParameterName = \"nameFilter\";\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.permissionSetsFilter = new FilterItem();\r\n    this.permissionSetsFilter.formControlName = this.permissionSetsOptions.name;\r\n    this.permissionSetsFilter.actionParameterName = \"PermissionSetIds\";\r\n    this.permissionSetsFilter.isFormControl = true;\r\n    this.permissionSetsFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.accountStatusFilter = new FilterItem();\r\n    this.accountStatusFilter.formControlName = this.accountStatusOptions.name;\r\n    this.accountStatusFilter.actionParameterName = \"accountStatusIDs\";\r\n    this.accountStatusFilter.isFormControl = true;\r\n    this.accountStatusFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.lockedStatusFilter = new FilterItem();\r\n    this.lockedStatusFilter.formControlName = this.lockedStatusOptions.name;\r\n    this.lockedStatusFilter.actionParameterName = \"lockedStatusIds\";\r\n    this.lockedStatusFilter.isFormControl = true;\r\n    this.lockedStatusFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.departmentsFilter = new FilterItem();\r\n    this.departmentsFilter.formControlName = this.departmentsOptions.name;\r\n    this.departmentsFilter.actionParameterName = \"departmentIds\";\r\n    this.departmentsFilter.isFormControl = true;\r\n    this.departmentsFilter.filterType = FilterType.DropdownList;\r\n\r\n    if (this.isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin) {\r\n      this.UserPaging.filters = this.UserPaging.filters ?? [];\r\n      this.UserPaging.dropdownFiltersControlNames = this.UserPaging.dropdownFiltersControlNames ?? [];\r\n\r\n      this.organizationsFilter = new FilterItem();\r\n      this.organizationsFilter.formControlName = this.organizationOptions.name;\r\n      this.organizationsFilter.actionParameterName = \"organizationId\";\r\n      this.organizationsFilter.isFormControl = true;\r\n      this.organizationsFilter.filterType = FilterType.DropdownList;\r\n\r\n      this.UserPaging.filters.push(this.organizationsFilter);\r\n      this.UserPaging.dropdownFiltersControlNames.push(this.organizationsFilter.formControlName);\r\n    }\r\n\r\n\r\n    this.UserPaging = new PagingOptions();\r\n    this.UserPaging.actionPostURL = this.ApiUrl + 'GetUsersByFilter';\r\n    this.UserPaging.onKeyPressFiltersControlNames = [\r\n      this.searchTextBox.name\r\n    ];\r\n\r\n    this.UserPaging.dropdownFiltersControlNames = [\r\n      ...this.UserPaging.dropdownFiltersControlNames,\r\n      this.permissionSetsFilter.formControlName,\r\n      this.lockedStatusFilter.formControlName,\r\n      this.accountStatusFilter.formControlName,\r\n      this.departmentsFilter.formControlName,\r\n    ];\r\n\r\n    this.UserPaging.filters = [\r\n      this.permissionSetsFilter,\r\n      this.lockedStatusFilter,\r\n      this.accountStatusFilter,\r\n      this.departmentsFilter,\r\n      this.TextInputFilter\r\n    ];\r\n\r\n    this.UserPaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.UserPaging.resetFilterButtonName = \"usersFiltersBtn\";\r\n\r\n    this.IsFilterLoaded = true;\r\n  }\r\n  //#endregion\r\n\r\n  //#region Load lists for filters\r\n  loadLists() {\r\n    if (!this.IsFilterDataLoaded) {\r\n      this.userService.Loaddropdowns().subscribe((result) => {\r\n        let DropdownsResponseModel = result as DropdownsResponseModel;\r\n        this.permissionSetList = DropdownsResponseModel.permessionsets;\r\n        this.accountStatusList = DropdownsResponseModel.accountStatus;\r\n        this.lockedStatusList = DropdownsResponseModel.lockedStatus;\r\n        this.departmentsList = DropdownsResponseModel.departments;\r\n        this.organizationList = DropdownsResponseModel.organizations;\r\n\r\n        let permissionSetElement = this.permissionSetDDL;\r\n        let accountStatusElement = this.accountStatusDDL;\r\n        let lockedStatusElement = this.lockedStatusDDL;\r\n        let departmentsElement = this.departmentsDDL;\r\n        let organizationsElement = this.organizationDDL;\r\n\r\n        permissionSetElement.updateDataSource(this.permissionSetList);\r\n        accountStatusElement.updateDataSource(this.accountStatusList);\r\n        lockedStatusElement.updateDataSource(this.lockedStatusList);\r\n        departmentsElement.updateDataSource(this.departmentsList);\r\n        organizationsElement.updateDataSource(this.organizationList);\r\n\r\n        this.IsFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n  //#endregion\r\n\r\n\r\n  //#region Users checkboxes selection functions\r\n  selectAllUserList(event, Users: any[]) {\r\n    if (this.UserPagingResult == null) {\r\n      return;\r\n    }\r\n    this.UserPagingResult.forEach(u => u.selected = event.checked);\r\n\r\n    if (event.checked) {\r\n      for (let index = 0; index < Users.length; index++) {\r\n        const user = Users[index];\r\n        this.SelectedUserList.push(user);\r\n        if (user.isActive) {\r\n          this.activatedUsersSelected += 1;\r\n        }\r\n        else {\r\n          this.deActivatedUsersSelected += 1;\r\n        }\r\n      }\r\n      this.activatedUsersSelected = Users.filter((item) => { return item.isActive; }).map((item) => item.key).length;\r\n      this.deActivatedUsersSelected = Users.filter((item) => { return !item.isActive; }).map((item) => item.key).length;\r\n    }\r\n    else {\r\n      this.SelectedUserList = [];\r\n      this.activatedUsersSelected = 0;\r\n      this.deActivatedUsersSelected = 0;\r\n    }\r\n    this.enableButtons();\r\n  }\r\n\r\n  updateUserList(event, User) {\r\n    this.UserPagingResult.find(u => u.id === User.id).selected = event.checked;\r\n    this.allSelected = this.UserPagingResult != null && this.UserPagingResult.every(u => u.selected);\r\n    if (event.checked) {\r\n      this.SelectedUserList.push(User);\r\n      if (User.isActive)\r\n        this.activatedUsersSelected += 1;\r\n      else\r\n        this.deActivatedUsersSelected += 1;\r\n    }\r\n    else {\r\n      this.SelectedUserList.forEach((value, index) => {\r\n        if (value.id == User.id) this.SelectedUserList.splice(index, 1);\r\n      });\r\n      if (User.isActive)\r\n        this.activatedUsersSelected -= 1;\r\n      else\r\n        this.deActivatedUsersSelected -= 1;\r\n    }\r\n    this.enableButtons();\r\n  }\r\n\r\n  deleteUserFromList(user: any) {\r\n    this.UserPagingResult.find(u => u.id === user.id).selected = false;\r\n    this.SelectedUserList = this.SelectedUserList.filter(item => item != user);\r\n    if (user.isActive)\r\n      this.activatedUsersSelected -= 1;\r\n    else\r\n      this.deActivatedUsersSelected -= 1;\r\n    this.enableButtons();\r\n    if (this.SelectedUserList.length <= 0) {\r\n      this.modalService.dismissAll();\r\n    }\r\n  }\r\n\r\n  enableButtons() {\r\n    //Reset all btns\r\n    this.disableButtons();\r\n\r\n    if (this.activatedUsersSelected == 0 && this.deActivatedUsersSelected == 0)\r\n      this.showGeneralBtns = true;\r\n    else {\r\n      this.showGeneralBtns = false;\r\n\r\n      //if only activated users\r\n      if (this.activatedUsersSelected > 0 && this.deActivatedUsersSelected == 0) {\r\n        this.showDeactivateBtn = true;\r\n        this.showResetPassBtn = true;\r\n        this.showDeleteBtn = true;\r\n      }\r\n      else if (this.deActivatedUsersSelected > 0 && this.activatedUsersSelected == 0)     //if only deActivated users\r\n      {\r\n        this.showActivateBtn = true;\r\n        this.showSendEmailBtn = true;\r\n        this.showDeleteBtn = true;\r\n      }\r\n      else if (this.activatedUsersSelected > 0 && this.deActivatedUsersSelected > 0) //if activated and deactivated users selected\r\n      {\r\n        this.showResetPassBtn = true;\r\n        this.showSetPassBtn = true;\r\n        this.showDeleteBtn = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  disableButtons() {\r\n    //Reset all btns\r\n    this.showActivateBtn = false;\r\n    this.showDeactivateBtn = false;\r\n    this.showSendEmailBtn = false;\r\n    this.showResetPassBtn = false;\r\n    this.showSetPassBtn = false;\r\n    this.showDeleteBtn = false;\r\n    this.showGeneralBtns = true;\r\n  }\r\n\r\n  resetUsersCount() {\r\n    this.SelectedUserList = [];\r\n    this.activatedUsersSelected = 0;\r\n    this.deActivatedUsersSelected = 0;\r\n    this.UserPagingResult.forEach(u => u.selected = false);\r\n  }\r\n  //#endregion\r\n\r\n  //#region Add User\r\n  showAddUserModal(addUserModal) {\r\n    this.utilityService.startBlockUI();\r\n\r\n    // Check license limit before allowing user addition\r\n    this.licenseService.getOrganizationLicense().subscribe((licenseResult) => {\r\n      const license = licenseResult.val;\r\n\r\n      // Check if user limit has been reached\r\n      if (license && license.isActivated && license.licensedUsersCount >= license.usersCount) {\r\n        this.utilityService.stopBlockUI();\r\n        this.utilityService.notifyErrorMessage(this.utilityService.getResourceValue(\"MaximumUserLimitReached\"));\r\n        return;\r\n      }\r\n\r\n      // If limit not reached, proceed with loading dropdowns and showing modal\r\n      this.userService.LoadAddDropdowns().subscribe((result) => {\r\n\r\n        let DropdownsResponseModel = result as DropdownsResponseModel;\r\n        //Set required lists\r\n        this.permissionSetList = DropdownsResponseModel.permessionsets;\r\n        this.departmentsList = DropdownsResponseModel.departments;\r\n        this.countriesList = DropdownsResponseModel.countries;\r\n        this.organizationList = DropdownsResponseModel.organizations;\r\n\r\n        this.AddUserForm = new FormGroup({});\r\n\r\n        this.AddUserFormOptions = new FormOptions();\r\n        this.AddUserFormOptions.formGroup = this.AddUserForm;\r\n        this.AddUserFormOptions.getModelFunction = this.getAddUserModel;\r\n        this.AddUserFormOptions.serviceSubmitFunction = this.getAddUserFunction;\r\n        this.AddUserFormOptions.pagingReference = this.pagingElement;\r\n\r\n        this.AddName = new MultiLingualTextBoxOptions();\r\n        this.AddName.name = \"Name\";\r\n        this.AddName.arabicLabelKey = \"NameInArabic\";\r\n        this.AddName.englishLabelKey = \"NameInEnglish\";\r\n        this.AddName.isRequired = true;\r\n        this.AddName.maxLength = 100;\r\n\r\n        this.AddMobileNumber = new PhoneOptions();\r\n        this.AddMobileNumber.value = null;\r\n        this.AddMobileNumber.name = \"PhoneInputMobile\";\r\n        this.AddMobileNumber.labelKey = \"MobileNumber\";\r\n        this.AddMobileNumber.extraClasses = \"form-control bnsights-control\";\r\n        this.AddMobileNumber.selectedCountryISO = Country.UnitedArabEmirates;\r\n        this.AddMobileNumber.phoneValidation = true;\r\n        this.AddMobileNumber.allowSearch = true;\r\n\r\n        this.AddUsername = new TextBoxOptions();\r\n        this.AddUsername.value = null;\r\n        this.AddUsername.name = \"Username\";\r\n        this.AddUsername.labelKey = \"Username\";\r\n        this.AddUsername.type = InputType.Email;\r\n        this.AddUsername.isRequired = true;\r\n        this.AddUsername.maxLength = 256;\r\n\r\n        this.AddSamAccount = new TextBoxOptions();\r\n        this.AddSamAccount.value = null;\r\n        this.AddSamAccount.name = \"SamAccount\";\r\n        this.AddSamAccount.labelKey = \"SamAccount\";\r\n        this.AddSamAccount.type = InputType.Text;\r\n        this.AddSamAccount.maxLength = 256;\r\n\r\n        this.AddUserDepartment = new DropdownOptions();\r\n        this.AddUserDepartment.name = \"DepartmentID_GUID\";\r\n        this.AddUserDepartment.labelKey = \"Department\";\r\n        this.AddUserDepartment.selectedItems = null;\r\n        this.AddUserDepartment.dataSource = this.departmentsList;\r\n        this.AddUserDepartment.singleSelection = true;\r\n        this.AddUserDepartment.allowSearchFilter = true;\r\n\r\n        this.AddSendActivationEmail = new ToggleSlideOptions();\r\n        this.AddSendActivationEmail.name = \"SendActivationMail\";\r\n        this.AddSendActivationEmail.labelKey = \"SendActivationEmail\";\r\n        this.AddSendActivationEmail.value = false;\r\n        this.AddSendActivationEmail.viewType = ControlLayout.Horizontal;\r\n\r\n        this.AddUserPermissionSet = new DropdownOptions();\r\n        this.AddUserPermissionSet.name = \"PermissionSets\";\r\n        this.AddUserPermissionSet.labelKey = \"PermissionSets\";\r\n        this.AddUserPermissionSet.selectedItems = null;\r\n        this.AddUserPermissionSet.dataSource = this.permissionSetList;\r\n        this.AddUserPermissionSet.singleSelection = false;\r\n        this.AddUserPermissionSet.allowSearchFilter = true;\r\n        this.AddUserPermissionSet.isRequired = true;\r\n\r\n        this.AddUserPermissions = new DropdownOptions();\r\n        this.AddUserPermissions.name = \"Permissions\";\r\n        this.AddUserPermissions.labelKey = \"Permissions\";\r\n        this.AddUserPermissions.selectedItems = null;\r\n        this.AddUserPermissions.singleSelection = false;\r\n        this.AddUserPermissions.allowSearchFilter = true;\r\n        this.AddUserPermissions.isRequired = false;\r\n\r\n        this.AddUserNationality = new DropdownOptions();\r\n        this.AddUserNationality.name = \"Nationality\";\r\n        this.AddUserNationality.labelKey = \"Nationality\";\r\n        this.AddUserNationality.viewType = ControlLayout.Vertical;\r\n        this.AddUserNationality.singleSelection = true;\r\n        this.AddUserNationality.showCheckbox = false;\r\n        this.AddUserNationality.allowSearchFilter = true;\r\n        this.AddUserNationality.dataSource = this.countriesList;\r\n\r\n        this.AddUserEID = new TextBoxOptions();\r\n        this.AddUserEID.name = \"EID\";\r\n        this.AddUserEID.labelKey = \"EID\";\r\n        this.AddUserEID.type = InputType.EID;\r\n        this.AddUserEID.viewType = ControlLayout.Vertical;\r\n\r\n        this.AddProfileImage = new ProfileImageUploadOptions();\r\n        this.AddProfileImage.name = \"Image\";\r\n        this.AddProfileImage.labelValue = \"ProfileImage\";\r\n        this.AddProfileImage.isRequired = false;\r\n        this.AddProfileImage.viewType = ControlLayout.Vertical;\r\n        this.AddProfileImage.imageUploadAcceptsTypes = [ImageType.ImageTypes];\r\n\r\n        this.AddForceUserChangePassword = new ToggleSlideOptions();\r\n        this.AddForceUserChangePassword.name = \"ForceUserChangePassword\";\r\n        this.AddForceUserChangePassword.labelKey = \"ForceUserChangePassword\";\r\n        this.AddForceUserChangePassword.value = false;\r\n        this.AddForceUserChangePassword.viewType = ControlLayout.Horizontal;\r\n\r\n        if (this.isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin) {\r\n          this.addUserOrganizations = new DropdownOptions();\r\n          this.addUserOrganizations.name = \"organizationId\";\r\n          this.addUserOrganizations.labelKey = \"Organization\";\r\n          this.addUserOrganizations.selectedItems = null;\r\n          this.addUserOrganizations.dataSource = this.organizationList;\r\n          this.addUserOrganizations.singleSelection = true;\r\n          this.addUserOrganizations.allowSearchFilter = true;\r\n        }\r\n\r\n        this.modalService.open(addUserModal);\r\n        this.utilityService.stopBlockUI();\r\n      });\r\n    });\r\n\r\n  }\r\n\r\n  getAddUserModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddUserForm.value as any;\r\n    let addModel = new AddUserModel();\r\n    addModel.Username = ResultModel.Username;\r\n    addModel.Name = ResultModel.Name;\r\n    addModel.Nationality = ResultModel.Nationality;\r\n    addModel.EID = ResultModel.EID;\r\n    addModel.SamAccount = ResultModel.SamAccount;\r\n\r\n    addModel.OrganizationID_GUID = (this.isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin)\r\n      ? ResultModel[this.addUserOrganizations.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n\r\n    if (ResultModel.DepartmentID_GUID != undefined)\r\n      addModel.DepartmentID_GUID = ResultModel.DepartmentID_GUID;\r\n\r\n    let PermissionSets = ResultModel.PermissionSets as string[];\r\n    addModel.PermissionSets = PermissionSets;\r\n    let Permissions = ResultModel.Permissions as string[];\r\n    addModel.Permissions = Permissions;\r\n    addModel.SendActivationMail = ResultModel.SendActivationMail;\r\n    let internationalNumber: string = null;\r\n    if (ResultModel.PhoneInputMobile != null) {\r\n      internationalNumber = ResultModel.PhoneInputMobile.internationalNumber as string;\r\n      internationalNumber = internationalNumber.replace(/\\s/g, \"\");\r\n    }\r\n    addModel.PhoneInputMobile = internationalNumber;\r\n    addModel.ProfileImage = ResultModel.Image;\r\n    addModel.ForceUserChangePassword = ResultModel.ForceUserChangePassword;\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddUserFunction = (AddModel): Observable<any> => {\r\n    return this.userService.AddUser(AddModel);\r\n  };\r\n  //#endregion\r\n\r\n  //#region Edit User\r\n  showEditUserModal(userID: string, EditUserModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.UserId = userID;\r\n\r\n    this.userService.getEditUser(userID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let user = resultObj.model;\r\n      let lists = resultObj.lists as DropdownsResponseModel;\r\n\r\n      this.permissionSetList = lists.permessionsets;\r\n      this.permissionsList = lists.permessions;\r\n      this.departmentsList = lists.departments;\r\n      this.countriesList = lists.countries;\r\n      this.organizationList = lists.organizations;\r\n\r\n      this.EditUserForm = new FormGroup({});\r\n\r\n      this.EditUserFormOptions = new FormOptions();\r\n      this.EditUserFormOptions.formGroup = this.EditUserForm;\r\n      this.EditUserFormOptions.getModelFunction = this.getEditUserModel;\r\n      this.EditUserFormOptions.serviceSubmitFunction = this.getEditUserFunction;\r\n      this.EditUserFormOptions.pagingReference = this.pagingElement;\r\n      this.EditUserFormOptions.pagingActionMode = PagingActionMode.Update;\r\n      this.EditUserFormOptions.onSuccessHandler = this.onSubmitSuccess;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.english = user.name.english;\r\n      Name.arabic = user.name.arabic;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = \"Name\";\r\n      this.EditName.arabicLabelKey = \"NameInArabic\";\r\n      this.EditName.englishLabelKey = \"NameInEnglish\";\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = Name;\r\n      this.EditName.maxLength = 100;\r\n\r\n      this.EditMobileNumber = new PhoneOptions();\r\n      this.EditMobileNumber.value = user.mobile as string;\r\n      this.EditMobileNumber.name = \"PhoneInputMobile\";\r\n      this.EditMobileNumber.labelKey = \"MobileNumber\";\r\n      this.EditMobileNumber.extraClasses = \"form-control bnsights-control\";\r\n      this.EditMobileNumber.selectedCountryISO = Country.UnitedArabEmirates;\r\n      this.EditMobileNumber.phoneValidation = true;\r\n      this.EditMobileNumber.allowSearch = true;\r\n\r\n\r\n      this.EditUsername = new TextBoxOptions();\r\n      this.EditUsername.value = user.username;\r\n      this.EditUsername.name = \"Username\";\r\n      this.EditUsername.labelKey = \"Username\";\r\n      this.EditUsername.type = InputType.Email;\r\n      this.EditUsername.isRequired = true;\r\n      this.EditUsername.maxLength = 256;\r\n\r\n      this.EditEmail = new TextBoxOptions();\r\n      this.EditEmail.value = user.email;\r\n      this.EditEmail.name = \"Email\";\r\n      this.EditEmail.labelKey = \"Email\";\r\n      this.EditEmail.type = InputType.Email;\r\n      this.EditEmail.isRequired = true;\r\n      this.EditEmail.maxLength = 256;\r\n\r\n      this.EditSamAccount = new TextBoxOptions();\r\n      this.EditSamAccount.value = user.samAccount;\r\n      this.EditSamAccount.name = \"SamAccount\";\r\n      this.EditSamAccount.labelKey = \"SamAccount\";\r\n      this.EditSamAccount.type = InputType.Text;\r\n      this.EditSamAccount.maxLength = 256;\r\n\r\n\r\n      this.EditUserDepartment = new DropdownOptions();\r\n      this.EditUserDepartment.name = \"DepartmentID_GUID\";\r\n      this.EditUserDepartment.labelKey = \"Department\";\r\n      this.EditUserDepartment.selectedItems = user.departmentID_GUID?.toLowerCase();\r\n      this.EditUserDepartment.dataSource = this.departmentsList;\r\n      this.EditUserDepartment.singleSelection = true;\r\n      this.EditUserDepartment.allowSearchFilter = true;\r\n\r\n      if (this.isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin) {\r\n        this.editUserOrganization = new DropdownOptions();\r\n        this.editUserOrganization.name = \"organizationId\";\r\n        this.editUserOrganization.labelKey = \"Organization\";\r\n        this.editUserOrganization.selectedItems = null;\r\n        this.editUserOrganization.dataSource = this.organizationList;\r\n        this.editUserOrganization.singleSelection = true;\r\n        this.editUserOrganization.allowSearchFilter = true;\r\n      }\r\n\r\n      this.EditUserPermissionSet = new DropdownOptions();\r\n      this.EditUserPermissionSet.name = \"PermissionSets\";\r\n      this.EditUserPermissionSet.labelKey = \"PermissionSets\";\r\n      this.EditUserPermissionSet.selectedItems = user.permissionSetIDs.map((item) => item.toLowerCase());\r\n      this.EditUserPermissionSet.dataSource = this.permissionSetList;\r\n      this.EditUserPermissionSet.singleSelection = false;\r\n      this.EditUserPermissionSet.allowSearchFilter = true;\r\n      this.EditUserPermissionSet.isRequired = true;\r\n\r\n      this.EditUserPermissions = new DropdownOptions();\r\n      this.EditUserPermissions.name = \"Permissions\";\r\n      this.EditUserPermissions.labelKey = \"Permissions\";\r\n      this.EditUserPermissions.selectedItems = user.permissionIDs.map((item) => item.toLowerCase());\r\n      this.EditUserPermissions.dataSource = this.permissionsList;\r\n      this.EditUserPermissions.singleSelection = false;\r\n      this.EditUserPermissions.allowSearchFilter = true;\r\n      this.EditUserPermissions.isRequired = false;\r\n\r\n      this.EditUserNationality = new DropdownOptions();\r\n      this.EditUserNationality.name = \"Nationality\";\r\n      this.EditUserNationality.labelKey = \"Nationality\";\r\n      this.EditUserNationality.viewType = ControlLayout.Vertical;\r\n      this.EditUserNationality.singleSelection = true;\r\n      this.EditUserNationality.showCheckbox = false;\r\n      this.EditUserNationality.allowSearchFilter = true;\r\n      this.EditUserNationality.dataSource = this.countriesList;\r\n      if (user.nationality)\r\n        this.EditUserNationality.selectedItems = user.nationality;\r\n\r\n      this.EditUserEID = new TextBoxOptions();\r\n      this.EditUserEID.name = \"EID\";\r\n      this.EditUserEID.labelKey = \"EID\";\r\n      this.EditUserEID.type = InputType.EID;\r\n      this.EditUserEID.viewType = ControlLayout.Vertical;\r\n      this.EditUserEID.value = user.eid;\r\n\r\n      this.EditProfileImage = new ProfileImageUploadOptions();\r\n      this.EditProfileImage.name = \"Image\";\r\n      this.EditProfileImage.labelValue = \"ProfileImage\";\r\n      this.EditProfileImage.isRequired = false;\r\n      this.EditProfileImage.viewType = ControlLayout.Vertical;\r\n      this.EditProfileImage.imageUploadAcceptsTypes = [ImageType.ImageTypes];\r\n      this.EditProfileImage.value = user.profileImage;\r\n\r\n      this.modalService.open(EditUserModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n  }\r\n  getEditUserModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditUserForm.value as any;\r\n    let editModel = new EditUserModel();\r\n    editModel.ID_GUID = this.UserId;\r\n    editModel.Username = ResultModel.Username;\r\n    editModel.Email = ResultModel.Email;\r\n    editModel.Name = ResultModel.Name;\r\n    editModel.Nationality = ResultModel.Nationality;\r\n    editModel.EID = ResultModel.EID;\r\n    editModel.SamAccount = ResultModel.SamAccount;\r\n\r\n    editModel.OrganizationID_GUID = (this.isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin)\r\n      ? ResultModel[this.editUserOrganization.name]\r\n      : this.currentUserProfile.organizationGUID_ID ?? Constants.OrganizationID_GUID;\r\n\r\n    if (ResultModel.DepartmentID_GUID != undefined)\r\n      editModel.DepartmentID_GUID = ResultModel.DepartmentID_GUID;\r\n\r\n    let PermissionSets = ResultModel.PermissionSets as string[];\r\n    editModel.PermissionSetIDs = PermissionSets;\r\n    let Permissions = ResultModel.Permissions as string[];\r\n    editModel.PermissionIDs = Permissions;\r\n\r\n    let internationalNumber: string = null;\r\n    if (ResultModel.PhoneInputMobile != null) {\r\n      internationalNumber = ResultModel.PhoneInputMobile.internationalNumber as string;\r\n      internationalNumber = internationalNumber.replace(/\\s/g, \"\");\r\n    }\r\n    editModel.Mobile = internationalNumber;\r\n    editModel.ProfileImage = ResultModel.Image;\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n  getEditUserFunction = (EditModel): Observable<any> => {\r\n    return this.userService.EditUser(EditModel);\r\n  };\r\n  changePermissionSet(ids, isAdd: boolean) {\r\n    this.userService.LoadPermissionsDropDown(ids).subscribe((result) => {\r\n      let ddl = result as any;\r\n      this.permissionsList = ddl;\r\n      if (isAdd) {\r\n        this.AddUserPermissions.selectedItems = null;\r\n        this.AddUserPermissions.dataSource = this.permissionsList;\r\n      }\r\n      else {\r\n        this.EditUserPermissions.selectedItems = null;\r\n        this.EditUserPermissions.dataSource = this.permissionsList;\r\n      }\r\n    });\r\n  }\r\n  //#endregion\r\n\r\n\r\n  //#region Export users excel\r\n  exportExcel() {\r\n    let filters = {};\r\n    filters = this.pagingElement.getFiltersValue();\r\n\r\n    this.userService.Export(filters).subscribe((result) => {\r\n      let FileDTO = result as any;\r\n      const file = new Blob([FileDTO], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n      let fileName = this.utilityService.getResourceValue(\"Users\") + \".xlsx\";\r\n      saveAs(file, fileName);\r\n      window.location.reload();\r\n\r\n\r\n    }, (error) => {\r\n\r\n    });\r\n\r\n  }\r\n  //#endregion\r\n\r\n  //One user functions\r\n\r\n  //Activation and deactivation functions\r\n  showActivateUserModal(User: any, isActivateModel: boolean, ActivateUserModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.ActivatorDeactivateUserList = [];\r\n    this.ActivatorDeactivateUserList.push(User);\r\n    this.Name = User.nameStr;\r\n    this.Email = User.email;\r\n    this.ShowActivateModelData = isActivateModel;\r\n    this.modalService.open(ActivateUserModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  activate() {\r\n    this.userService.ActivateUsers(this.ActivatorDeactivateUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.pagingElement.updatePaging();\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n\r\n  deactivate() {\r\n    this.userService.DeactivateUsers(this.ActivatorDeactivateUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n\r\n  //#region Reset Password Functions\r\n  showResetPasswordUserModal(User: any, ResetPasswordUserModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.ResetPasswordUserList = [];\r\n    this.ResetPasswordUserList.push(User);\r\n    this.Name = User.nameStr;\r\n    this.Email = User.email;\r\n    this.modalService.open(ResetPasswordUserModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n\r\n  }\r\n\r\n  resetPassword() {\r\n    this.userService.ResetUsersPassword(this.ResetPasswordUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n\r\n  }\r\n  //#endregion\r\n\r\n  //#region Delete User Functions\r\n  showDeleteUserModal(User: any, DeleteUserModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.ResetPasswordUserList = [];\r\n    this.ResetPasswordUserList.push(User);\r\n    this.Name = User.nameStr;\r\n    this.Email = User.email;\r\n    this.modalService.open(DeleteUserModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  deleteUser() {\r\n    this.userService.DeleteUsers(this.ResetPasswordUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n  //#endregion\r\n\r\n  //Send activation mail function\r\n  showSendActivationEmailModal(User: any, SendActivationEmailModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.SelectedUserList = [];\r\n    this.SelectedUserList.push(User);\r\n    this.Name = User.nameStr;\r\n    this.Email = User.email;\r\n    this.modalService.open(SendActivationEmailModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  sendActivationEmailForUser() {\r\n    this.userService.SendActivationEmailForUser(this.SelectedUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.SelectedUserList = [];\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n\r\n  }\r\n\r\n  //Set password function\r\n\r\n  showsetPasswordUserModal(User: any, setPasswordUserModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.SetUserPasswordForm = new FormGroup({});\r\n    this.SetUserPasswordFormOptions = new FormOptions();\r\n    this.SetUserPasswordFormOptions.formGroup = this.SetUserPasswordForm;\r\n    this.SetUserPasswordFormOptions.getModelFunction = this.getSetPAsswordModel;\r\n    this.SetUserPasswordFormOptions.serviceSubmitFunction = this.getSetPasswordFunction;\r\n    this.SetUserPasswordFormOptions.pagingReference = this.pagingElement;\r\n    this.SetUserPasswordFormOptions.pagingActionMode = PagingActionMode.Update;\r\n    this.SetUserPasswordFormOptions.onSuccessHandler = this.onSubmitSuccess;\r\n\r\n\r\n    this.Name = User.nameStr;\r\n    this.Email = User.email;\r\n    this.setPasswordUserToken = User.token;\r\n\r\n    this.Password = new TextBoxOptions();\r\n    this.Password.name = \"Password\";\r\n    this.Password.hideLabel = true;\r\n    this.Password.type = InputType.Password;\r\n    this.Password.isRequired = true;\r\n\r\n    this.customValidation.functionBody = (control) => {\r\n      let Password = this.SetUserPasswordForm.controls[\"Password\"].value;\r\n      if (control.value != Password)\r\n        return { 'customerError': true };\r\n      return null;\r\n    };\r\n    this.customValidation.massage = this.utilityService.getResourceValue(\"PasswordNotMatch\");\r\n\r\n    this.PasswordConfirmation = new TextBoxOptions();\r\n    this.PasswordConfirmation.name = \"PasswordConfirmation\";\r\n    this.PasswordConfirmation.hideLabel = true;\r\n    this.PasswordConfirmation.type = InputType.Password;\r\n    this.PasswordConfirmation.isRequired = true;\r\n    this.PasswordConfirmation.customValidation = [this.customValidation];\r\n\r\n    this.modalService.open(setPasswordUserModal);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  getSetPAsswordModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.SetUserPasswordForm.value as any;\r\n    ResultModel.token = this.setPasswordUserToken;\r\n    ResultModel.isAdminSet = true;\r\n    paramArray.push(ResultModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getSetPasswordFunction = (userPasswordModel): Observable<any> => {\r\n    return this.userService.SetUsersPassword(userPasswordModel);\r\n  };\r\n\r\n  onSubmitSuccess = (result) => {\r\n    this.resetUsersCount();\r\n    this.disableButtons();\r\n  };\r\n\r\n  //Users List Functions\r\n\r\n  //Show activate,deactivate,resetPassword,sendactivationemail modals\r\n  showConfirmationModal(type: number, ConfirmationModal) {\r\n    this.utilityService.startBlockUI();\r\n    switch (type) {\r\n      case 1:\r\n        this.ConfirmationMessage = this.utilityService.getResourceValue(\"ActivateConfirmation\");\r\n        this.ConfirmationModalType = 1;\r\n        break;\r\n      case 2:\r\n        this.ConfirmationMessage = this.utilityService.getResourceValue(\"DeactivateConfirmation\");\r\n        this.ConfirmationModalType = 2;\r\n        break;\r\n      case 3:\r\n        this.ConfirmationMessage = this.utilityService.getResourceValue(\"ResetPasswordConfirmation\");\r\n        this.ConfirmationModalType = 3;\r\n        break;\r\n      case 4:\r\n        this.ConfirmationMessage = this.utilityService.getResourceValue(\"SendActivationMailConfirmation\");\r\n        this.ConfirmationModalType = 4;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n    this.modalService.open(ConfirmationModal);\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n  //Activate users list\r\n  activateUserList() {\r\n    this.userService.ActivateUsers(this.SelectedUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.SelectedUserList = [];\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n  //Deactivate users list\r\n  deactivateUserList() {\r\n    this.userService.DeactivateUsers(this.SelectedUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.SelectedUserList = [];\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n  //Reset passwords users list\r\n  resetUserPasswordList() {\r\n    this.userService.ResetUsersPassword(this.SelectedUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.SelectedUserList = [];\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n  //Delete users list\r\n  deleteUserList() {\r\n    this.userService.DeleteUsers(this.SelectedUserList).subscribe((result) => {\r\n      this.modalService.dismissAll();\r\n      this.SelectedUserList = [];\r\n      this.pagingElement.updatePaging();\r\n\r\n      this.resetUsersCount();\r\n      this.disableButtons();\r\n    }, (error) => {\r\n\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <!-- begin::Header -->\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"UsersForm\">\r\n          <!-- (onChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"UsersForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <div *ngIf=\"showGeneralBtns\" ngbDropdown class=\"d-inline-block\"\r\n          [ngStyle]=\"{ display: ShowPageContent == true ? 'block' : 'none' }\">\r\n          <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{ utilityService.getResourceValue('Filter') }}\r\n          </button>\r\n          <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\"filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"UsersForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div class=\"col-lg-6\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #permissionSetDDL [options]=\"permissionSetsOptions\"\r\n                        [group]=\"UsersForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"col-lg-6\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #accountStatusDDL [options]=\"accountStatusOptions\"\r\n                        [group]=\"UsersForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"col-lg-6\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #lockedStatusDDL [options]=\"lockedStatusOptions\"\r\n                        [group]=\"UsersForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"col-lg-6\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #departmentsDDL [options]=\"departmentsOptions\"\r\n                        [group]=\"UsersForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                  <div *ngIf=\"isMultiTenancyAllowed && currentUserProfile.permissionSetSID == permissionSets.Admin\">\r\n                    <BBSF-DropdownList #organizationDDL [options]=\"organizationOptions\"\r\n                      [group]=\"UsersForm\"></BBSF-DropdownList>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"usersFiltersBtn\">\r\n                    {{ utilityService.getResourceValue('Reset') }}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <button *ngIf=\"showGeneralBtns\" href=\"javascript:;\" type=\"button\" (click)=\"exportExcel()\"\r\n          class=\"btn btn-sm btn-light-primary me-3 bnsights-btn-export\" title=\"Export\">\r\n          <i class=\"fas fa-download me-1\"></i>\r\n          {{ utilityService.getResourceValue('Export') }}\r\n        </button>\r\n        <button *ngIf=\"showActivateBtn\" type=\"button\" id=\"btnActivate\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          href=\"javascript:;\" (click)=\"showConfirmationModal(1, ConfirmationModal)\">\r\n          <i class=\"fa fa-history\"></i> {{ utilityService.getResourceValue('Activate') }}\r\n        </button>\r\n        <button *ngIf=\"showDeactivateBtn\" type=\"button\" id=\"btnDeactivate\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          href=\"javascript:;\" (click)=\"showConfirmationModal(2, ConfirmationModal)\">\r\n          <i class=\"fa fa-power-off\"></i>{{ utilityService.getResourceValue('Deactivate') }}\r\n        </button>\r\n        <button *ngIf=\"showResetPassBtn\" type=\"button\" id=\"btnResetPass\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          href=\"javascript:;\" (click)=\"showConfirmationModal(3, ConfirmationModal)\">\r\n          <i class=\"fa fa-cog\"></i>{{ utilityService.getResourceValue('ResetPassword') }}\r\n        </button>\r\n        <button *ngIf=\"showDeleteBtn\" type=\"button\" id=\"btnDelete\" class=\"btn btn-sm btn-light-primary me-3\"\r\n          href=\"javascript:;\" (click)=\"showConfirmationModal(5, ConfirmationModal)\">\r\n          <i class=\"fa fa-trash\"></i>{{ utilityService.getResourceValue('Delete') }}\r\n        </button>\r\n        <button *ngIf=\"showSendEmailBtn\" type=\"button\" id=\"btnResendActivation\"\r\n          class=\"btn btn-sm btn-light-primary me-3\" href=\"javascript:;\"\r\n          (click)=\"showConfirmationModal(4, ConfirmationModal)\">\r\n          <i class=\"fa fa-envelope\"></i> {{ utilityService.getResourceValue('SendActivationEmail') }}\r\n        </button>\r\n        <button *ngIf=\"showGeneralBtns\" type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n          (click)=\"showAddUserModal(addUserModal)\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{ utilityService.getResourceValue('Add') }}\r\n        </button>\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <!-- begin::Table container -->\r\n      <div class=\"table-responsive\">\r\n        <!-- begin::Table -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer users-table\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"w-50px\">\r\n                <span>\r\n                  <label class=\"form-check form-check-sm form-check-custom form-check-solid\">\r\n                    <mat-checkbox (change)=\"selectAllUserList($event, clientSidePagingResult)\" [checked]=\"allSelected\">\r\n                    </mat-checkbox>\r\n                    &nbsp;<span></span>\r\n                  </label>\r\n                </span>\r\n              </th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Email') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Mobile') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Roles') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Status') }}</th>\r\n              <th *ngIf=\"currentUserProfile.permissionSetSID == permissionSets.Admin\" class=\"min-w-150px\">\r\n                {{ utilityService.getResourceValue('Organizations') }}\r\n              </th>\r\n              <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let user of clientSidePagingResult\">\r\n              <td class=\"\">\r\n                <span>\r\n                  <label class=\"form-check form-check-sm form-check-custom form-check-solid\">\r\n                    <mat-checkbox (change)=\"updateUserList($event, user)\" [(ngModel)]=\"user.selected\"> </mat-checkbox>\r\n                  </label>\r\n                </span>\r\n              </td>\r\n              <td>\r\n                <div class=\"d-flex align-items-center\">\r\n                  <div class=\"symbol symbol-35px\">\r\n                    <h6 class=\"symbol-label font-size-h5 font-weight-bold bg-light-primary ml-2 mb-0 me-3\">A</h6>\r\n                  </div>\r\n                  <div class=\"d-flex justify-content-start flex-column\">\r\n                    <a (click)=\"showEditUserModal(user.iD_GUID, EditUserModal)\" href=\"javascript:void(0)\"\r\n                      class=\"text-dark fw-bolder text-hover-primary fs-6\">\r\n                      {{ user.nameStr }}\r\n                    </a>\r\n                  </div>\r\n                </div>\r\n              </td>\r\n              <td>{{ user.username }}</td>\r\n              <td>{{ user.mobile ?? '-' }}</td>\r\n              <td>{{ user.permissionset }}</td>\r\n              <td>\r\n                <span class=\"badge badge-light-success\" *ngIf=\"user.isActive == true\">\r\n                  {{ utilityService.getResourceValue('Active') }}\r\n                </span>\r\n                <span class=\"badge badge-light-danger\" *ngIf=\"user.isActive == false && user.activationDate != null\">\r\n                  {{ utilityService.getResourceValue('Deactivated') }}\r\n                </span>\r\n                <span class=\"badge badge-light-warning\" *ngIf=\"user.isActive == false && user.activationDate == null\">\r\n                  {{ utilityService.getResourceValue('PendingActivation') }}\r\n                </span>\r\n              </td>\r\n              <td *ngIf=\"currentUserProfile.permissionSetSID == permissionSets.Admin\">{{ user.organizationName ?? '-' }}\r\n              </td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <button type=\"button\" class=\"menu-item px-3\" ngbDropdownItem\r\n                      (click)=\"showEditUserModal(user.iD_GUID, EditUserModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" *ngIf=\"user.isActive\" id=\"btnDeactivate\"\r\n                      (click)=\"showActivateUserModal(user, false, ActivateUserModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('Deactivate') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" id=\"btnactivate\"\r\n                      (click)=\"showActivateUserModal(user, true, ActivateUserModal)\" *ngIf=\"!user.isActive\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('Activate') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showResetPasswordUserModal(user, ResetPasswordUserModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('ResetPassword') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showsetPasswordUserModal(user, setPasswordUserModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('SetPassword') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" id=\"btnResetPass\"\r\n                      *ngIf=\"!user.isActive && user.activationDate == null\"\r\n                      (click)=\"showSendActivationEmailModal(user, SendActivationEmailModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('SendActivationEmail') }}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"menu-item px-3\" id=\"btnDelete\"\r\n                      (click)=\"showDeleteUserModal(user, DeleteUserModal)\">\r\n                      <span class=\"menu-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"6\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!-- end::Table -->\r\n      </div>\r\n      <!-- end::Table container -->\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <!-- begin paging-->\r\n      <BBSF-Paging (Items)=\"setUsersListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"UserPaging\"\r\n        [group]=\"UsersForm\" #UserPagingViewElement>\r\n      </BBSF-Paging>\r\n      <!-- End paging-->\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- add user-->\r\n<ng-template #addUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\"\r\n      class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('AddUser') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddUserFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddUserForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-TextBox [options]=\"AddUsername\" [group]=\"AddUserForm\"></BBSF-TextBox>\r\n      <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddUserForm\"></BBSF-TextBox>\r\n      <BBSF-TextBox [options]=\"AddUserEID\" [group]=\"AddUserForm\"></BBSF-TextBox>\r\n      <BBSF-DropdownList [options]=\"AddUserNationality\" [group]=\"AddUserForm\"></BBSF-DropdownList>\r\n      @if (isMultiTenancyAllowed && currentUserProfile.permissionSetSID == permissionSets.Admin) {\r\n      <BBSF-DropdownList [options]=\"addUserOrganizations\" [group]=\"AddUserForm\"></BBSF-DropdownList>\r\n      }\r\n      <BBSF-Phone [options]=\"AddMobileNumber\" [group]=\"AddUserForm\"></BBSF-Phone>\r\n      <BBSF-DropdownList [options]=\"AddUserDepartment\" [group]=\"AddUserForm\"></BBSF-DropdownList>\r\n      <BBSF-Toggleslide [options]=\"AddSendActivationEmail\" [group]=\"AddUserForm\"></BBSF-Toggleslide>\r\n      <BBSF-Toggleslide [options]=\"AddForceUserChangePassword\" [group]=\"AddUserForm\"></BBSF-Toggleslide>\r\n      <BBSF-DropdownList (onChange)=\"changePermissionSet($event, true)\" [options]=\"AddUserPermissionSet\"\r\n        [group]=\"AddUserForm\"></BBSF-DropdownList>\r\n      <BBSF-DropdownList [options]=\"AddUserPermissions\" [group]=\"AddUserForm\"></BBSF-DropdownList>\r\n      <BBSF-ProfileImageUploader [options]=\"AddProfileImage\" [group]=\"AddUserForm\"></BBSF-ProfileImageUploader>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" #CloseUserModal id=\"CloseUserModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Edit user-->\r\n<ng-template #EditUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('EditUser') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"EditUserFormOptions\">\r\n      <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditUserForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-Phone [options]=\"EditMobileNumber\" [group]=\"EditUserForm\"></BBSF-Phone>\r\n      <BBSF-TextBox [options]=\"EditUsername\" [group]=\"EditUserForm\"></BBSF-TextBox>\r\n      <BBSF-TextBox [options]=\"EditEmail\" [group]=\"EditUserForm\"></BBSF-TextBox>\r\n      <BBSF-TextBox [options]=\"EditSamAccount\" [group]=\"EditUserForm\"></BBSF-TextBox>\r\n      <BBSF-TextBox [options]=\"EditUserEID\" [group]=\"EditUserForm\"></BBSF-TextBox>\r\n      <BBSF-DropdownList [options]=\"EditUserNationality\" [group]=\"EditUserForm\"></BBSF-DropdownList>\r\n      @if (isMultiTenancyAllowed && currentUserProfile.permissionSetSID == permissionSets.Admin) {\r\n      <BBSF-DropdownList [options]=\"editUserOrganization\" [group]=\"EditUserForm\"></BBSF-DropdownList>\r\n      }\r\n      <BBSF-DropdownList [options]=\"EditUserDepartment\" [group]=\"EditUserForm\"></BBSF-DropdownList>\r\n      <BBSF-DropdownList (onChange)=\"changePermissionSet($event, false)\" [options]=\"EditUserPermissionSet\"\r\n        [group]=\"EditUserForm\"></BBSF-DropdownList>\r\n      <BBSF-DropdownList [options]=\"EditUserPermissions\" [group]=\"EditUserForm\"></BBSF-DropdownList>\r\n      <BBSF-ProfileImageUploader [options]=\"EditProfileImage\" [group]=\"EditUserForm\"></BBSF-ProfileImageUploader>\r\n      <div class=\"text-center pt-7\">\r\n        <button type=\"button\" data-dismiss=\"modal\" #CloseEditUserModal id=\"CloseEditUserModal\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n<!-- Deactivate/Activate User Modal -->\r\n<ng-template #ActivateUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\" *ngIf=\"!ShowActivateModelData\" id=\"exampleModalLabel\">\r\n        {{ utilityService.getResourceValue('Deactivate') }}\r\n      </h1>\r\n      <h1 class=\"mb-3\" *ngIf=\"ShowActivateModelData\" id=\"exampleModalLabel\">\r\n        {{ utilityService.getResourceValue('Activate') }}\r\n      </h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\" *ngIf=\"!ShowActivateModelData\">\r\n            {{ utilityService.getResourceValue('DeactivateConfirmation') }}\r\n          </div>\r\n          <div class=\"fs-6 text-gray-700\" *ngIf=\"ShowActivateModelData\">\r\n            {{ utilityService.getResourceValue('ActivateConfirmation') }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div id=\"\" class=\"\">\r\n      <div class=\"table-responsive\">\r\n        <table id=\"tableConfirmation\" class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr>\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('Email') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody class=\"fw-bold text-gray-600 border-0\">\r\n            <tr class=\"trItem\">\r\n              <td>{{ Name }}</td>\r\n              <td>{{ Email }}</td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button type=\"button\" #CloseActivateUserModal id=\"CloseActivateUserModal\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n        class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n        {{ utilityService.getResourceValue('CancelLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"!ShowActivateModelData\" (click)=\"deactivate()\" class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"ShowActivateModelData\" (click)=\"activate()\" class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n<!-- ResetPassword User Modal -->\r\n<ng-template #ResetPasswordUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('ResetPassword') }}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{ utilityService.getResourceValue('ResetPasswordConfirmation') }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div class=\"table-responsive\">\r\n      <!-- begin::Table -->\r\n      <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n        <thead>\r\n          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n            <th class=\"min-w-200\">{{ utilityService.getResourceValue('Name') }}</th>\r\n            <th class=\"min-w-200\">{{ utilityService.getResourceValue('Email') }}</th>\r\n          </tr>\r\n        </thead>\r\n        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n          <tr class=\"trItem\">\r\n            <td class=\"text-dark\">{{ Name }}</td>\r\n            <td>{{ Email }}</td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n\r\n    <div class=\"text-center pt-7\">\r\n      <button id=\"CloseResetPasswordUserModal\" #CloseResetPasswordUserModal type=\"button\" data-dismiss=\"modal\"\r\n        aria-label=\"Close\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n        {{ utilityService.getResourceValue('CancelLabel') }}\r\n      </button>\r\n\r\n      <button type=\"button\" (click)=\"resetPassword()\" class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- setPassword User Modal -->\r\n<ng-template #setPasswordUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('SetPassword') }}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{ utilityService.getResourceValue('SetPasswordConfirmation') }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <!-- begin::Table -->\r\n    <BBSF-Form [options]=\"SetUserPasswordFormOptions\">\r\n      <div class=\"table-responsive\">\r\n        <table id=\"tableConfirmation\" class=\"table table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-50\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-50\">{{ utilityService.getResourceValue('Email') }}</th>\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('Password') }}</th>\r\n              <th class=\"min-w-150\">{{ utilityService.getResourceValue('ConfirmPassword') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody class=\"fw-bold text-gray-600 border-0\">\r\n            <tr class=\"trItem\">\r\n              <td class=\"align-middle\">{{ Name }}</td>\r\n              <td class=\"align-middle\">{{ Email }}</td>\r\n              <td>\r\n                <BBSF-TextBox [options]=\"Password\" [group]=\"SetUserPasswordForm\"></BBSF-TextBox>\r\n              </td>\r\n              <td>\r\n                <BBSF-TextBox [options]=\"PasswordConfirmation\" [group]=\"SetUserPasswordForm\"></BBSF-TextBox>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button id=\"ClosesetPasswordUserModal\" #ClosesetPasswordUserModal type=\"button\" aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Send Activation Email Modal -->\r\n<ng-template #SendActivationEmailModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('SendActivationEmail') }}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{ utilityService.getResourceValue('ActivateConfirmation') }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div class=\"note note-warning text-center\"></div>\r\n    <div class=\"table-responsive\">\r\n      <!-- begin::Table -->\r\n      <table id=\"tableConfirmation\" class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n        <thead>\r\n          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Name') }}</th>\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Email') }}</th>\r\n            <th class=\"min-w-50\" *ngIf=\"SelectedUserList.length > 1\">{{ utilityService.getResourceValue('Action') }}\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n          <tr *ngFor=\"let user of SelectedUserList\" class=\"trItem\">\r\n            <td class=\"text-dark\">{{ user.nameStr }}</td>\r\n\r\n            <td>{{ user.username }}</td>\r\n            <td *ngIf=\"SelectedUserList.length > 1\">\r\n              <button type=\"button\" (click)=\"deleteUserFromList(user)\" class=\"btn btn-light-danger btn-icon btn-sm\">\r\n                <i class=\"fas fa-trash\"></i>\r\n              </button>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button #CloseActivationEmailModal id=\"CloseActivationEmailModal\" type=\"button\" aria-label=\"Close\"\r\n        class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n        {{ utilityService.getResourceValue('CancelLabel') }}\r\n      </button>\r\n      <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"sendActivationEmailForUser()\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Delete User Modal -->\r\n<ng-template #DeleteUserModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Delete') }}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-danger rounded border-danger border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{ utilityService.getResourceValue('DeleteUserConfirmation') }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div class=\"note note-danger text-center\"></div>\r\n    <div class=\"table-responsive\">\r\n      <!-- begin::Table -->\r\n      <table id=\"tableConfirmation\" class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n        <thead>\r\n          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Name') }}</th>\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Email') }}</th>\r\n          </tr>\r\n        </thead>\r\n        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n          <tr *ngFor=\"let user of ResetPasswordUserList\" class=\"trItem\">\r\n            <td class=\"text-dark\">{{ user.nameStr }}</td>\r\n            <td>{{ user.username }}</td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button #CloseDeleteUserModal id=\"CloseDeleteUserModal\" type=\"button\" aria-label=\"Close\"\r\n        class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n        {{ utilityService.getResourceValue('CancelLabel') }}\r\n      </button>\r\n      <button type=\"button\" class=\"btn btn-danger btn-sm\" (click)=\"deleteUser()\">\r\n        {{ utilityService.getResourceValue('Delete') }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- confirmation Message  Modal -->\r\n<ng-template #ConfirmationModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('ConfirmationMessage') }}</h1>\r\n    </div>\r\n    <div class=\"notice d-flex bg-light-warning rounded border-warning border border-dashed mb-10 p-6\">\r\n      <!--begin::Icon-->\r\n      <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->\r\n      <span class=\"svg-icon svg-icon-2tx svg-icon-warning me-4\">\r\n        <span [inlineSVG]=\"'./src/assets/images/gen044.svg'\"></span>\r\n      </span>\r\n      <!--end::Svg Icon-->\r\n      <!--end::Icon-->\r\n      <!--begin::Wrapper-->\r\n      <div class=\"d-flex flex-stack flex-grow-1\">\r\n        <!--begin::Content-->\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-gray-700\">\r\n            {{ ConfirmationMessage }}\r\n          </div>\r\n        </div>\r\n        <!--end::Content-->\r\n      </div>\r\n      <!--end::Wrapper-->\r\n    </div>\r\n    <div class=\"table-responsive\">\r\n      <!-- begin::Table -->\r\n      <table id=\"tableConfirmation\" class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n        <thead>\r\n          <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Name') }}</th>\r\n            <th class=\"min-w-150\">{{ utilityService.getResourceValue('Email') }}</th>\r\n            <th class=\"min-w-50\" *ngIf=\"SelectedUserList.length > 1\">{{ utilityService.getResourceValue('Action') }}\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody class=\"fw-bold text-gray-600 border-0\">\r\n          <tr *ngFor=\"let user of SelectedUserList\" class=\"trItem\">\r\n            <td class=\"text-dark\">{{ user.nameStr }}</td>\r\n\r\n            <td>{{ user.username }}</td>\r\n            <td *ngIf=\"SelectedUserList.length > 1\">\r\n              <button type=\"button\" (click)=\"deleteUserFromList(user)\" class=\"btn btn-light-danger btn-icon\">\r\n                <i class=\"fas fa-trash\"></i>\r\n              </button>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div class=\"text-center pt-7\">\r\n      <button #CloseConfirmationModal id=\"CloseConfirmationModal\" class=\"btn btn-light me-3 btn-sm\"\r\n        (click)=\"modal.dismiss()\">\r\n        {{ utilityService.getResourceValue('CancelLabel') }}\r\n      </button>\r\n\r\n      <button type=\"button\" *ngIf=\"ConfirmationModalType == 1\" (click)=\"activateUserList()\"\r\n        class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"ConfirmationModalType == 2\" (click)=\"deactivateUserList()\"\r\n        class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"ConfirmationModalType == 3\" (click)=\"resetUserPasswordList()\"\r\n        class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"ConfirmationModalType == 4\" (click)=\"sendActivationEmailForUser()\"\r\n        class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n      <button type=\"button\" *ngIf=\"ConfirmationModalType == 5\" (click)=\"deleteUserList()\"\r\n        class=\"btn btn-primary btn-sm\">\r\n        {{ utilityService.getResourceValue('SaveLabel') }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { UsersComponent } from './users.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { UserService } from './../shared/Services/userService.service';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { DataSecretService } from '../shared/Services/data.service';\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: '', component: UsersComponent\r\n  }\r\n];\r\n@NgModule({\r\n  declarations: [UsersComponent],\r\n  imports: [\r\n    BlockUIModule.forRoot(),\r\n    CommonModule,\r\n    RouterModule.forChild(routes),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    NgbModule,\r\n    MatMenuModule,\r\n    MatCheckboxModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n\r\n  providers: [\r\n    UserService,\r\n    DatePipe,\r\n    EnvironmentService,\r\n    DataSecretService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n  ]\r\n})\r\nexport class UsersModule {\r\n}\r\n","import { ADMappingModel } from \"./ADMappingModel\";\r\n\r\nexport class ActiveDirectoryAddEditModel {\r\n  ID: number;\r\n  ADTypeItemID: number;\r\n  ADTypeItemID_GUID: string;\r\n  ADTypeName: string;\r\n  ValidationError_Duplicates: string;\r\n  IsExistsCurrentDomain: boolean;\r\n  ConnectionName: string;\r\n  PermissionSetID: string;\r\n  ShowBuiltInGroups: boolean;\r\n  ImagesFileProviderName: string;\r\n  LangKey: string;\r\n  MarkAsInactive: boolean;\r\n  WelcomeTemplateID: number;\r\n  AddToDailyJob: boolean;\r\n  //Windows\r\n  Domain: string;\r\n  //Identifier: string;\r\n  Identifiers: string[];\r\n  SamAccount: string;\r\n  Password: string;\r\n  ADWindowsTypeItemID: number;\r\n  ADWindowsTypeItemID_GUID: string;\r\n  ADConnectionWindowsTypeItemName: string;\r\n  //Azure\r\n  TenantID: string;\r\n  ClientID: string;\r\n  ClientSecret: string;\r\n\r\n  ADMappings: ADMappingModel[] = [];\r\n}\r\n","export class ADMappingModel {\r\n  BBSFPropertyName: string;\r\n  ADPropertyName: string;\r\n  ADMappingTypeItemID: string;\r\n  IncludeInUpdate: boolean;\r\n}\r\n","export enum ADType {\r\n  Windows = 18001,\r\n  Azure = 18002,\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ActiveDirectoryAddEditModel } from \"../models/ADModels/ActiveDirectoryAddEditModel\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ActiveDirectoryService {\r\n  apiUrl = \"/api/admin/ADConnection/\";\r\n\r\n  constructor(private http: RequestHandlerService) { }\r\n\r\n  addActiveDirectory(AddModel: ActiveDirectoryAddEditModel) {\r\n    return this.http.post(this.apiUrl + 'AddActiveDirectory', AddModel);\r\n  }\r\n\r\n  getEditActiveDirectory(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.apiUrl + 'EditActiveDirectory', params);\r\n\r\n  }\r\n\r\n  editActiveDirectory(EditModel: ActiveDirectoryAddEditModel) {\r\n    return this.http.post(this.apiUrl + 'EditActiveDirectory', EditModel);\r\n  }\r\n\r\n  deleteActiveDirectory(id: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.post(this.apiUrl + 'DeleteActiveDirectory', null, null, params);\r\n  }\r\n  loaddropdowns() {\r\n\r\n    return this.http.get(this.apiUrl + 'Loaddropdowns');\r\n  }\r\n  runADSynchronization(id: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.post(this.apiUrl + 'RunADsync', null, null, params);\r\n  }\r\n\r\n  getLastRunLogs(id: string) {\r\n\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.apiUrl + 'LastRunLogs', params);\r\n  }\r\n\r\n  checkValidationandGetData(model: ActiveDirectoryAddEditModel) {\r\n\r\n    return this.http.post(this.apiUrl + 'GetADData', model, null);\r\n  }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, DropdownOptions, FilterItem, FilterType, FormOptions, InputType, PagingActionMode, PagingComponent, PagingOptions, StyleConfirmationMode, TextBoxOptions, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { ActiveDirectoryService } from '../../shared/Services/ActiveDirectoryService.service';\r\nimport { ActiveDirectoryAddEditModel } from '../../shared/models/ADModels/ActiveDirectoryAddEditModel';\r\nimport { ADMappingModel } from '../../shared/models/ADModels/ADMappingModel';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { AuthService, UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ADType } from '../../shared/Enums/ADType';\r\n\r\n\r\n@Component({\r\n    selector: 'lib-active-directory',\r\n    templateUrl: './active-directory.component.html',\r\n    standalone: false\r\n})\r\nexport class ActiveDirectoryComponent implements OnInit {\r\n  //Page requirements\r\n  apiUrl = \"/api/admin/ADConnection/\";\r\n  showPageContent = false;\r\n\r\n  //Filter and paging components\r\n  activeDirectoryForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  textInputFilter: FilterItem;\r\n  activeDirectoryPagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  activeDirectoryPaging: PagingOptions;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('activeDirectoryPagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  permissionSetList: any[] = [];\r\n  languagesList: any[] = [];\r\n  welcomeMsgTempList: any[] = [];\r\n  mappingTypesList: any[] = [];\r\n  mappingPropertiesList: any[] = [];\r\n\r\n  ////Edit Model Controls\r\n  //Shared controls\r\n  editActiveDirectoryForm = new FormGroup({});\r\n  editActiveDirectoryFormOptions: FormOptions;\r\n  editName: TextBoxOptions;\r\n  editADTypeName: string; //Windows or Azure\r\n  editADTypeID: number;\r\n  editInactive: ToggleSlideOptions;\r\n  editDailyJob: ToggleSlideOptions;\r\n  editPermissionSetOptions: DropdownOptions;\r\n  editLanguageOptions: DropdownOptions;\r\n  editWelcomeMsgTemplateOptions: DropdownOptions;\r\n  editMappingsOptions: any[] = [];\r\n  editMappingsCount: number;\r\n  activeDirectoryId: number;\r\n  //Windows Mode\r\n  editDomain: TextBoxOptions;\r\n  editSamAccount: TextBoxOptions;\r\n  editIdentifiers: string[];\r\n  editWindowsTypeName: string;\r\n  editPassword: TextBoxOptions;\r\n  showWindowsControl: boolean;\r\n  //Azure Mode\r\n  editTenantID: TextBoxOptions;\r\n  editClientID: TextBoxOptions;\r\n  editClientSecret: TextBoxOptions;\r\n  showAzureControl: boolean;\r\n\r\n  //delete  Model Controls\r\n  deleteActiveDirectoryId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false }) deleteConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //Last run logs\r\n  adConnectionName: string;\r\n  lastRunLogs: string;\r\n\r\n  //Synchronization modal\r\n  syncActiveDirectoryId: string;\r\n  syncConfirmationOptions: ConfirmationModalOptions;\r\n  syncControlLoaded: boolean = false;\r\n  @ViewChild('syncConfirmationModalControl', { static: false }) syncConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private activeDirectoryService: ActiveDirectoryService,\r\n    private modalService: NgbModal, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.showPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"ActiveDirectories\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.showPageContent = false;\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  //initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n\r\n    this.activeDirectoryPaging = new PagingOptions();\r\n    this.activeDirectoryPaging.actionPostURL = this.apiUrl + 'GetADConnectionByFilter';\r\n    this.activeDirectoryPaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.activeDirectoryPaging.filters = [this.textInputFilter];\r\n    this.activeDirectoryPaging.validationToken = this.authService.authorizationHeaderValue();\r\n\r\n    this.isFilterLoaded = true;\r\n  }\r\n\r\n  //Paging functions\r\n  setActiveDirectoryListResult(result) {\r\n    this.activeDirectoryPagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.showPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  //Edit ActiveDirectory\r\n  showEditActiveDirectoryModal(activeDirectoryID: number, activeDirectoryIDEnc: string, editADModal) {\r\n    this.activeDirectoryId = activeDirectoryID;\r\n    this.showWindowsControl = false;\r\n    this.showAzureControl = false;\r\n\r\n    this.activeDirectoryService.getEditActiveDirectory(activeDirectoryIDEnc).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let activeDirectory = resultObj.model;\r\n      let lists = resultObj.dropdownsData;\r\n\r\n      this.editADTypeID = activeDirectory.adTypeItemID;\r\n      //Load ists\r\n      this.permissionSetList = lists.permissionSets;\r\n      this.languagesList = lists.languages;\r\n      this.welcomeMsgTempList = lists.templates;\r\n      this.mappingTypesList = lists.mappingTypes;\r\n      this.mappingPropertiesList = lists.mappingProperties;\r\n\r\n      this.editActiveDirectoryForm = new FormGroup({});\r\n      this.editActiveDirectoryFormOptions = new FormOptions();\r\n      this.editActiveDirectoryFormOptions.formGroup = this.editActiveDirectoryForm;\r\n      this.editActiveDirectoryFormOptions.getModelFunction = this.getEditADModel;\r\n      this.editActiveDirectoryFormOptions.serviceSubmitFunction = this.getEditADFunction;\r\n      this.editActiveDirectoryFormOptions.pagingReference = this.pagingElement;\r\n      this.editActiveDirectoryFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n\r\n      this.editName = new TextBoxOptions();\r\n      this.editName.name = \"editName\";\r\n      this.editName.labelKey = \"Name\";\r\n      this.editName.type = InputType.Text;\r\n      this.editName.isRequired = true;\r\n      this.editName.value = activeDirectory.connectionName;\r\n      this.editName.maxLength = 100;\r\n\r\n      let selectedPermissionSet = this.permissionSetList.filter((item) => { return item.key == activeDirectory.permissionSetID; }).map((item) => item.key)[0];\r\n\r\n      this.editPermissionSetOptions = new DropdownOptions();\r\n      this.editPermissionSetOptions.name = \"editPermissionSetOptions\";\r\n      this.editPermissionSetOptions.labelKey = \"PermissionSet\";\r\n      this.editPermissionSetOptions.dataSource = this.permissionSetList;\r\n      this.editPermissionSetOptions.singleSelection = true;\r\n      this.editPermissionSetOptions.allowSearchFilter = true;\r\n      this.editPermissionSetOptions.placeholder = \"\";\r\n      this.editPermissionSetOptions.isRequired = true;\r\n      this.editPermissionSetOptions.selectedItems = selectedPermissionSet;\r\n\r\n      let selectedLanguage = this.languagesList.filter((item) => { return item.key == activeDirectory.langKey; }).map((item) => item.key)[0];\r\n\r\n      this.editLanguageOptions = new DropdownOptions();\r\n      this.editLanguageOptions.name = \"editLanguageOptions\";\r\n      this.editLanguageOptions.labelValue = \"Language\";\r\n      this.editLanguageOptions.labelKey = \"Language\";\r\n      this.editLanguageOptions.dataSource = this.languagesList;\r\n      this.editLanguageOptions.singleSelection = true;\r\n      this.editLanguageOptions.allowSearchFilter = true;\r\n      this.editLanguageOptions.placeholder = \"\";\r\n      this.editLanguageOptions.isRequired = true;\r\n      this.editLanguageOptions.selectedItems = selectedLanguage;\r\n\r\n      let selectedWelcomeMsgTemp = activeDirectory.welcomeTemplateID != null ? this.welcomeMsgTempList.filter((item) => { return item.key == activeDirectory.welcomeTemplateID; }).map((item) => item.key)[0] : null;\r\n\r\n      this.editWelcomeMsgTemplateOptions = new DropdownOptions();\r\n      this.editWelcomeMsgTemplateOptions.name = \"editWelcomeMsgTemplateOptions\";\r\n      this.editWelcomeMsgTemplateOptions.labelKey = \"WelcomeMsgTemplate\";\r\n      this.editWelcomeMsgTemplateOptions.dataSource = this.welcomeMsgTempList;\r\n      this.editWelcomeMsgTemplateOptions.singleSelection = true;\r\n      this.editWelcomeMsgTemplateOptions.allowSearchFilter = true;\r\n      this.editWelcomeMsgTemplateOptions.placeholder = \"\";\r\n      this.editWelcomeMsgTemplateOptions.isRequired = false;\r\n      this.editWelcomeMsgTemplateOptions.selectedItems = selectedWelcomeMsgTemp;\r\n\r\n\r\n      this.editInactive = new ToggleSlideOptions();\r\n      this.editInactive.name = \"editInactive\";\r\n      this.editInactive.value = activeDirectory.markAsInactive;\r\n      this.editInactive.labelKey = \"MarkAsInactive\";\r\n      this.editInactive.viewType = ControlLayout.Horizontal;\r\n\r\n      this.editDailyJob = new ToggleSlideOptions();\r\n      this.editDailyJob.name = \"editDailyJob\";\r\n      this.editDailyJob.labelKey = \"AddToDailyJob\";\r\n      this.editDailyJob.value = activeDirectory.addToDailyJob;\r\n      this.editDailyJob.viewType = ControlLayout.Horizontal;\r\n\r\n\r\n      //Windows mode\r\n      if (this.editADTypeID == Number(ADType.Windows)) {\r\n        this.editIdentifiers = activeDirectory.identifiers;\r\n        this.editWindowsTypeName = activeDirectory.adTypeName;\r\n\r\n        this.editDomain = new TextBoxOptions();\r\n        this.editDomain.name = \"editDomain\";\r\n        this.editDomain.labelKey = \"Domain\";\r\n        this.editDomain.type = InputType.Text;\r\n        this.editDomain.isRequired = true;\r\n        this.editDomain.value = activeDirectory.domain;\r\n        this.editDomain.maxLength = 256;\r\n\r\n        this.editSamAccount = new TextBoxOptions();\r\n        this.editSamAccount.name = \"editSamAccount\";\r\n        this.editSamAccount.labelKey = \"SamAccount\";\r\n        this.editSamAccount.type = InputType.Text;\r\n        this.editSamAccount.value = activeDirectory.samAccount;\r\n        this.editSamAccount.maxLength = 20;\r\n\r\n        this.editPassword = new TextBoxOptions();\r\n        this.editPassword.name = \"editPassword\";\r\n        this.editPassword.labelKey = \"Password\";\r\n        this.editPassword.type = InputType.Password;\r\n        this.editPassword.removeDefaultPasswordValidation = true;\r\n        this.editPassword.value = activeDirectory.password;\r\n        this.editPassword.maxLength = 4000;\r\n\r\n        this.showWindowsControl = true;\r\n      }\r\n      else if (this.editADTypeID == Number(ADType.Azure)) {\r\n        this.editTenantID = new TextBoxOptions();\r\n        this.editTenantID.name = \"editTenantID\";\r\n        this.editTenantID.labelKey = \"TenantID\";\r\n        this.editTenantID.type = InputType.Text;\r\n        this.editTenantID.isRequired = true;\r\n        this.editTenantID.value = activeDirectory.tenantID;\r\n        this.editTenantID.maxLength = 100;\r\n\r\n        this.editClientID = new TextBoxOptions();\r\n        this.editClientID.name = \"editClientID\";\r\n        this.editClientID.labelKey = \"ClientID\";\r\n        this.editClientID.type = InputType.Text;\r\n        this.editClientID.isRequired = true;\r\n        this.editClientID.value = activeDirectory.clientID;\r\n        this.editClientID.maxLength = 100;\r\n\r\n\r\n        this.editClientSecret = new TextBoxOptions();\r\n        this.editClientSecret.name = \"editClientSecret\";\r\n        this.editClientSecret.labelKey = \"ClientSecret\";\r\n        this.editClientSecret.type = InputType.Text;\r\n        this.editClientSecret.isRequired = true;\r\n        this.editClientSecret.value = activeDirectory.clientSecret;\r\n        this.editClientSecret.maxLength = 100;\r\n\r\n        this.showAzureControl = true;\r\n\r\n      }\r\n\r\n\r\n      let data: any = this.getADMappingOptions(activeDirectory.adMappings);\r\n\r\n      this.editMappingsOptions = data[0];\r\n      this.editMappingsCount = data[1];\r\n      this.modalService.open(editADModal);\r\n\r\n    });\r\n  }\r\n\r\n  getEditADModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.editActiveDirectoryForm.value as any;\r\n    let EditModel = new ActiveDirectoryAddEditModel();\r\n\r\n    EditModel.ID = Number(this.activeDirectoryId);\r\n    EditModel.ConnectionName = resultModel.editName;\r\n    EditModel.PermissionSetID = resultModel.editPermissionSetOptions != null ? resultModel.editPermissionSetOptions : null;\r\n    EditModel.LangKey = resultModel.editLanguageOptions;\r\n    EditModel.WelcomeTemplateID = resultModel.editWelcomeMsgTemplateOptions != null ? Number(resultModel.editWelcomeMsgTemplateOptions) : null;\r\n    EditModel.MarkAsInactive = resultModel.editInactive;\r\n    EditModel.AddToDailyJob = resultModel.editDailyJob;\r\n\r\n    if (this.editADTypeID == Number(ADType.Windows)) {\r\n      EditModel.Domain = resultModel.editDomain;\r\n      EditModel.SamAccount = resultModel.editSamAccount;\r\n      EditModel.Password = resultModel.editPassword;\r\n    }\r\n    else if (this.editADTypeID == Number(ADType.Azure)) {\r\n      EditModel.TenantID = resultModel.editTenantID;\r\n      EditModel.ClientID = resultModel.editClientID;\r\n      EditModel.ClientSecret = resultModel.editClientSecret;\r\n    }\r\n\r\n\r\n    for (let j = 0; j < this.editMappingsCount; j++) {\r\n      let editMAppingType = resultModel[\"ADMappingType\" + j];\r\n      if (editMAppingType == undefined)\r\n        continue;\r\n      let editMAppingProperty = resultModel[\"ADMappingProperty\" + j];\r\n      let editMAppingPropertyName = resultModel[\"ADMappingPropertyName\" + j];\r\n      let editMAppingIncludeInUpdate = resultModel[\"ADMappingIncludeUpdate\" + j];\r\n      let editMAppingHiddenIncludeInUpdate = resultModel[\"ADMappingHiddenIncludeUpdate\" + j];\r\n\r\n      let adMAppingObj: ADMappingModel = new ADMappingModel();\r\n      adMAppingObj.ADMappingTypeItemID = editMAppingType;\r\n      adMAppingObj.BBSFPropertyName = editMAppingProperty;\r\n      adMAppingObj.ADPropertyName = editMAppingPropertyName;\r\n      adMAppingObj.IncludeInUpdate = editMAppingIncludeInUpdate == undefined ? editMAppingHiddenIncludeInUpdate : editMAppingIncludeInUpdate;\r\n      EditModel.ADMappings.push(adMAppingObj);\r\n    }\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditADFunction = (EditModel): Observable<any> => {\r\n    return this.activeDirectoryService.editActiveDirectory(EditModel);\r\n  };\r\n\r\n  //AD Mapping functions\r\n  getADMappingOptions(ADMappings: any[]) {\r\n    let ADMappingOptions: any[] = [];\r\n    let ADMappingCount: number = 0;\r\n    for (let i = 0; i < ADMappings.length; i++) {\r\n\r\n      let objectMappingOptions: any[] = [];\r\n\r\n      let ADMappingType = new DropdownOptions();\r\n      let selectedType = this.mappingTypesList.filter((item) => { return item.key == ADMappings[i].adMappingTypeItemID; }).map((item) => item.key)[0];\r\n      ADMappingType.name = \"ADMappingType\" + i;\r\n      ADMappingType.hideLabel = true;\r\n      ADMappingType.singleSelection = true;\r\n      ADMappingType.selectedItems = selectedType;\r\n      ADMappingType.viewType = ControlLayout.Horizontal;\r\n      ADMappingType.dataSource = this.mappingTypesList;\r\n\r\n      let ADMappingProperty = new DropdownOptions();\r\n      let selectedProperty = this.mappingPropertiesList.filter((item) => { return item.key == ADMappings[i].bbsfPropertyName; }).map((item) => item.key)[0];\r\n      ADMappingProperty.name = \"ADMappingProperty\" + i;\r\n      ADMappingProperty.hideLabel = true;\r\n      ADMappingProperty.singleSelection = true;\r\n      ADMappingProperty.selectedItems = selectedProperty;\r\n      ADMappingProperty.viewType = ControlLayout.Horizontal;\r\n      ADMappingProperty.dataSource = this.mappingPropertiesList;\r\n\r\n\r\n      let ADMappingPropertyName = new TextBoxOptions();\r\n      ADMappingPropertyName.name = \"ADMappingPropertyName\" + i;\r\n      ADMappingPropertyName.hideLabel = true;\r\n      ADMappingPropertyName.type = InputType.Text;\r\n      ADMappingPropertyName.value = ADMappings[i].adPropertyName;\r\n      ADMappingPropertyName.viewType = ControlLayout.Horizontal;\r\n      ADMappingPropertyName.maxLength = 1024;\r\n\r\n      let ADMappingIncludeUpdate = new CheckBoxOptions();\r\n      ADMappingIncludeUpdate.name = \"ADMappingIncludeUpdate\" + i;\r\n      ADMappingIncludeUpdate.value = ADMappings[i].includeInUpdate;\r\n      ADMappingIncludeUpdate.isDisabled = true;\r\n\r\n      let ADMappingHiddenIncludeUpdate = new TextBoxOptions();\r\n      ADMappingHiddenIncludeUpdate.name = \"ADMappingHiddenIncludeUpdate\" + i;\r\n      ADMappingHiddenIncludeUpdate.hideLabel = true;\r\n      ADMappingHiddenIncludeUpdate.type = InputType.Text;\r\n      ADMappingHiddenIncludeUpdate.value = ADMappings[i].includeInUpdate;\r\n\r\n\r\n      objectMappingOptions.push(ADMappingType, ADMappingProperty, ADMappingPropertyName, ADMappingIncludeUpdate, ADMappingHiddenIncludeUpdate);\r\n      ADMappingOptions.push(objectMappingOptions);\r\n      ADMappingCount += 1;\r\n\r\n    }\r\n    return [ADMappingOptions, ADMappingCount];\r\n  }\r\n  deleteADMapping(deletedADMApping: any) {\r\n    let deletedMappingIndex: number = this.editMappingsOptions.indexOf(deletedADMApping);\r\n    if (deletedMappingIndex !== -1) {\r\n      this.editMappingsOptions.splice(deletedMappingIndex, 1);\r\n      for (var i = 0; i < deletedADMApping.length; i++) {\r\n        this.editActiveDirectoryForm.removeControl(deletedADMApping[i].Name);\r\n      }\r\n    }\r\n  }\r\n\r\n  addADMapping() {\r\n    let index = this.editMappingsCount;\r\n\r\n    let objectMappingOptions: any[] = [];\r\n\r\n    let ADMappingType = new DropdownOptions();\r\n    ADMappingType.name = \"ADMappingType\" + index;\r\n    ADMappingType.hideLabel = true;\r\n    ADMappingType.singleSelection = true;\r\n    ADMappingType.viewType = ControlLayout.Horizontal;\r\n    ADMappingType.dataSource = this.mappingTypesList;\r\n\r\n    let ADMappingProperty = new DropdownOptions();\r\n    ADMappingProperty.name = \"ADMappingProperty\" + index;\r\n    ADMappingProperty.hideLabel = true;\r\n    ADMappingProperty.singleSelection = true;\r\n    ADMappingProperty.viewType = ControlLayout.Horizontal;\r\n    ADMappingProperty.dataSource = this.mappingPropertiesList;\r\n\r\n\r\n    let ADMappingPropertyName = new TextBoxOptions();\r\n    ADMappingPropertyName.name = \"ADMappingPropertyName\" + index;\r\n    ADMappingPropertyName.hideLabel = true;\r\n    ADMappingPropertyName.type = InputType.Text;\r\n    ADMappingPropertyName.isRequired = false;\r\n    ADMappingPropertyName.viewType = ControlLayout.Horizontal;\r\n\r\n    let ADMappingIncludeUpdate = new CheckBoxOptions();\r\n    ADMappingIncludeUpdate.name = \"ADMappingIncludeUpdate\" + index;\r\n\r\n    let ADMappingHiddenIncludeUpdate = new TextBoxOptions();\r\n    ADMappingHiddenIncludeUpdate.name = \"ADMappingHiddenIncludeUpdate\" + index;\r\n    ADMappingHiddenIncludeUpdate.hideLabel = true;\r\n    ADMappingHiddenIncludeUpdate.type = InputType.Text;\r\n\r\n    objectMappingOptions.push(ADMappingType, ADMappingProperty, ADMappingPropertyName, ADMappingIncludeUpdate, ADMappingHiddenIncludeUpdate);\r\n\r\n    this.editMappingsOptions.push(objectMappingOptions);\r\n    this.editMappingsCount += 1;\r\n\r\n  }\r\n  //Delete ACtiveDirectory\r\n  showDeleteActiveDirectoryModal(activeDirectoryID: string) {\r\n    this.deleteActiveDirectoryId = activeDirectoryID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteActiveDirectoryId);\r\n\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteActiveDirectory;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.deleteConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  deleteActiveDirectory = (id: string): Observable<any> => {\r\n    return this.activeDirectoryService.deleteActiveDirectory(id);\r\n  };\r\n\r\n  //Sync Active Directory\r\n  showADSynchronizationModal(activeDirectoryID: string) {\r\n    this.syncActiveDirectoryId = activeDirectoryID;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.syncActiveDirectoryId);\r\n\r\n    this.syncConfirmationOptions = new ConfirmationModalOptions();\r\n    this.syncConfirmationOptions.serviceSubmitFunction = this.runSyncronization;\r\n    this.syncConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.syncConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.syncConfirmationOptions.pagingActionMode = PagingActionMode.Reinitialize;\r\n    this.syncConfirmationOptions.confirmationHeader = this.utilityService.getResourceValue(\"RunSynchronization\");\r\n    this.syncConfirmationOptions.confirmationBody = this.utilityService.getResourceValue(\"RunSynchronizationConfirmation\");\r\n    this.syncConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Warning;\r\n    this.syncConfirmationOptions.submitButtonText = this.utilityService.getResourceValue(\"Yes\");\r\n    this.syncConfirmationOptions.disableSuccessNotification = true;\r\n    this.syncConfirmationOptions.onSuccessHandler = this.runSyncOnSuccess;\r\n    this.syncControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.syncConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  runSyncronization = (id: string): Observable<any> => {\r\n    return this.activeDirectoryService.runADSynchronization(id);\r\n  };\r\n\r\n  runSyncOnSuccess = (result) => {\r\n    window.location.reload();\r\n  };\r\n  //Last run logs\r\n  showADLastRunLogsModal(activeDirectoryID: string, lastRunLogsModal) {\r\n    this.activeDirectoryService.getLastRunLogs(activeDirectoryID).subscribe((result) => {\r\n      let lastRunLogsModel = result as any;\r\n\r\n      this.adConnectionName = lastRunLogsModel.model.adConnectionName;\r\n      this.lastRunLogs = lastRunLogsModel.model.logs;\r\n\r\n      this.modalService.open(lastRunLogsModal);\r\n    });\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<!-- Page Content -->\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n  <!-- begin::Header -->\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <form [formGroup]=\"activeDirectoryForm\">\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"activeDirectoryForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-sm btn-primary\"\r\n          title=\"{{ utilityService.getResourceValue('Add') }}\"\r\n          [routerLink]=\"['/Admin/ADConnection/Add']\">\r\n          <i class=\"fas fa-plus me-1\"></i>\r\n          {{ utilityService.getResourceValue('Add') }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <!--begin::ActiveDirectory list-->\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Type') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('PermissionSet') }}</th>\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('AdConnectionRunningNow') }}</th>\r\n              <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Actions') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let activeDirectory of clientSidePagingResult\">\r\n              <td class=\"text-dark\">\r\n                {{ activeDirectory.name }}\r\n              </td>\r\n              <td>\r\n                {{ activeDirectory.adTypeName }}\r\n              </td>\r\n              <td>\r\n                {{ activeDirectory.permissionSetName }}\r\n              </td>\r\n              <td>\r\n                <span class=\"badge badge-light-success\" *ngIf=\"activeDirectory.isRunningNow; else not_Running\">\r\n                  {{ utilityService.getResourceValue('Yes') }}\r\n                </span>\r\n                <ng-template #not_Running>\r\n                  <span class=\"badge badge-light-danger\">\r\n                    {{ utilityService.getResourceValue('No') }}\r\n                  </span>\r\n                </ng-template>\r\n              </td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <a\r\n                      class=\"drop-item px-3\"\r\n                      ngbDropdownItem\r\n                      (click)=\"showEditActiveDirectoryModal(activeDirectory.id, activeDirectory.idEncrypted, editActiveDirectoryModal)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteActiveDirectoryModal(activeDirectory.idEncrypted)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showADSynchronizationModal(activeDirectory.idEncrypted)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('ActiveDirectoryRunSyncronization') }}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showADLastRunLogsModal(activeDirectory.idEncrypted, lastRunLogsModal)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('ActiveDirectoryLastRunLogs') }}</span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"5\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n      <!--end::Active directory list-->\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging\r\n        (Items)=\"setActiveDirectoryListResult($event)\"\r\n        *ngIf=\"isFilterLoaded\"\r\n        [options]=\"activeDirectoryPaging\"\r\n        [group]=\"activeDirectoryForm\"\r\n        #activeDirectoryPagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- Edit Modal -->\r\n<ng-template #editActiveDirectoryModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Edit') }} {{ utilityService.getResourceValue('ActiveDirectory') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"editActiveDirectoryFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"editName\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"editPermissionSetOptions\" [group]=\"editActiveDirectoryForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"editLanguageOptions\" [group]=\"editActiveDirectoryForm\"> </BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"editWelcomeMsgTemplateOptions\" [group]=\"editActiveDirectoryForm\"> </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <h6>\r\n            {{ utilityService.getResourceValue('ADType') }}\r\n          </h6>\r\n          <label>\r\n            {{ editADTypeName }}\r\n          </label>\r\n        </div>\r\n      </div>\r\n      <div *ngIf=\"showWindowsControl\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-9\">\r\n            <h6>\r\n              {{ utilityService.getResourceValue('Identifier') }}\r\n            </h6>\r\n            <div *ngFor=\"let editIdentifier of editIdentifiers\">\r\n              <label>\r\n                {{ editIdentifier }}\r\n              </label>\r\n            </div>\r\n          </div>\r\n          <div class=\"col-md-3\">\r\n            <h6>\r\n              {{ utilityService.getResourceValue('Type') }}\r\n            </h6>\r\n            <label>\r\n              {{ editWindowsTypeName }}\r\n            </label>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"editDomain\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"editSamAccount\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"editPassword\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div *ngIf=\"showAzureControl\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"editTenantID\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"editClientID\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"editClientSecret\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"editInactive\" [group]=\"editActiveDirectoryForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"editDailyJob\" [group]=\"editActiveDirectoryForm\"> </BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <table class=\"table amsx-table-users\">\r\n          <thead>\r\n            <tr>\r\n              <th>{{ utilityService.getResourceValue('Type') }}</th>\r\n              <th>{{ utilityService.getResourceValue('Property') }}</th>\r\n              <th>{{ utilityService.getResourceValue('ActiveDirectory_Property') }}</th>\r\n              <th>{{ utilityService.getResourceValue('IncludeInUpdate') }}</th>\r\n              <th></th>\r\n            </tr>\r\n          </thead>\r\n          <tbody>\r\n            <tr *ngFor=\"let option of editMappingsOptions; let i = index\">\r\n              <td>\r\n                <BBSF-DropdownList [options]=\"option[0]\" [group]=\"editActiveDirectoryForm\"> </BBSF-DropdownList>\r\n              </td>\r\n              <td>\r\n                <BBSF-DropdownList [options]=\"option[1]\" [group]=\"editActiveDirectoryForm\"> </BBSF-DropdownList>\r\n              </td>\r\n              <td>\r\n                <BBSF-TextBox [options]=\"option[2]\" [group]=\"editActiveDirectoryForm\"> </BBSF-TextBox>\r\n              </td>\r\n              <td>\r\n                <BBSF-CheckBox [options]=\"option[3]\" [group]=\"editActiveDirectoryForm\"> </BBSF-CheckBox>\r\n                <!--Hidden include in update value-->\r\n                <BBSF-TextBox [options]=\"option[4]\" [group]=\"editActiveDirectoryForm\" [hidden]=\"true\"> </BBSF-TextBox>\r\n              </td>\r\n\r\n              <td class=\"text-center align-middle\">\r\n                <a class=\"kt-nav__link\" (click)=\"deleteADMapping(option)\">\r\n                  <i class=\"kt-nav__link-icon fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                </a>\r\n              </td>\r\n            </tr>\r\n            <tr>\r\n              <td colspan=\"5\">\r\n                <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addADMapping()\">\r\n                  {{ utilityService.getResourceValue('AddNewRecord') }}\r\n                </button>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          #CloseEditADModal\r\n          id=\"CloseEditADModal\"\r\n          type=\"button\"\r\n          data-dismiss=\"modal\"\r\n          (click)=\"modal.dismiss()\"\r\n          class=\"btn btn-light me-3 btn-sm\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- Delete  Modal -->\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"deleteControlLoaded\"\r\n  [options]=\"deleteConfirmationOptions\"\r\n  id=\"deleteConfirmationModalControl\"\r\n  #deleteConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!-- Synchronization  Modal -->\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"syncControlLoaded\"\r\n  [options]=\"syncConfirmationOptions\"\r\n  id=\"syncConfirmationModalControl\"\r\n  #syncConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!-- View Last Run Logs -->\r\n<ng-template #lastRunLogsModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('ActiveDirectoryLastRunLogs') }} : {{ adConnectionName }}</h1>\r\n    </div>\r\n    <div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <p>{{ utilityService.getResourceValue('Name') }} : {{ adConnectionName }}</p>\r\n          <pre class=\"col-md-12\">{{ lastRunLogs }}</pre>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          #CloseDefaultProviderModal\r\n          id=\"CloseDefaultProviderModal\"\r\n          type=\"button\"\r\n          class=\"btn btn-light btn-sm me-3\"\r\n          data-dismiss=\"modal\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('Close') }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-active-directories',\r\n    templateUrl: './active-directories.component.html',\r\n    standalone: false\r\n})\r\nexport class ActiveDirectoriesComponent implements OnInit {\r\n\r\n\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ToggleSlideOptions, ControlLayout, DropdownOptions, InputType, TextBoxOptions, CheckBoxOptions, FormOptions, DropdownListComponent, TextboxComponent } from '@bnsights/bbsf-controls';\r\nimport { ActiveDirectoryService } from '../../shared/Services/ActiveDirectoryService.service';\r\nimport { ActiveDirectoryAddEditModel } from '../../shared/models/ADModels/ActiveDirectoryAddEditModel';\r\nimport { ADMappingModel } from '../../shared/models/ADModels/ADMappingModel';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { ActiveDirectoryType, ActiveDirectoryWindowConnectionType } from '../../shared/constants';\r\n\r\ninterface ADNode {\r\n  text: string;\r\n  children?: ADNode[];\r\n  data: string;\r\n  selectable: boolean;\r\n  icon: string;\r\n  state: any;\r\n  Index: number;\r\n}\r\n\r\n/** Flat node with expandable and level information */\r\ninterface FlatNode {\r\n  expandable: boolean;\r\n  name: string;\r\n  level: number;\r\n}\r\n\r\n@Component({\r\n    selector: 'lib-active-directory-add',\r\n    templateUrl: './active-directory-add.component.html',\r\n    standalone: false\r\n})\r\nexport class ActiveDirectoryAddComponent implements OnInit, OnDestroy {\r\n  //wizard\r\n  formsCount = 2;\r\n  currentStep$: BehaviorSubject<number> = new BehaviorSubject(1);\r\n  //wizard\r\n  //Required Lists\r\n  permissionSetList: any[] = [];\r\n  languagesList: any[] = [];\r\n  welcomeMsgTempList: any[] = [];\r\n  adTypesList: any[] = [];\r\n  fileProviders: any[] = [];\r\n  mappingPropertiesList: any[] = [];\r\n  mappingTypesList: any[] = [];\r\n  //Windows\r\n  adWindowsTypes: any[] = [];;\r\n\r\n  //Add Model Controls\r\n  addActiveDirectoryForm = new FormGroup({});\r\n  addActiveDirectoryFormOptions: FormOptions;\r\n  addTypeOptions: DropdownOptions;\r\n  addName: TextBoxOptions;\r\n  addPermissionSet: DropdownOptions;\r\n  addLanguage: DropdownOptions;\r\n  addWelcomeMsgTemp: DropdownOptions;\r\n  addFileProvider: DropdownOptions;\r\n  addMarkInactive: ToggleSlideOptions;\r\n  addDailyJob: ToggleSlideOptions;\r\n  addMappingsOptions: any[] = [];\r\n  addMappingsCount: number = 0;\r\n  selectedType: string;\r\n  isAddFormLoaded: boolean = false;\r\n  @ViewChild('adTypeControl', { static: false }) adTypeControl: DropdownListComponent;\r\n\r\n  /////////Start Windows controls/////\r\n  addDomain: TextBoxOptions;\r\n  addSamAccount: TextBoxOptions;\r\n  addPassword: TextBoxOptions;\r\n  addWindowsTypeOptions: DropdownOptions;\r\n  addShowBuiltInGroups: ToggleSlideOptions;\r\n  addShowBuiltInGroupsVisible: boolean = false;\r\n  showWindowsControls: boolean;\r\n  @ViewChild('adDomainControl', { static: false }) adDomainControl: TextboxComponent;\r\n  @ViewChild('adWindowsTypeControl', { static: false }) adWindowsTypeControl: DropdownListComponent;\r\n  //Tree\r\n  validationError: string;\r\n  errorIsFound: boolean = false;\r\n  treeNodeData: any;\r\n  treeControl: any;\r\n  treeFlattener: any;\r\n  dataSource: any;\r\n  hasChild: any;\r\n  treeDataLoaded: boolean = false;\r\n  selected = -1;\r\n  identifiers: string[] = [];\r\n\r\n  identifierName: string = \"\";\r\n  /////////End Windows controls/////\r\n  //Azure\r\n  addTenantID: TextBoxOptions;\r\n  addClientID: TextBoxOptions;\r\n  addClientSecret: TextBoxOptions;\r\n  @ViewChild('tenantIDControl', { static: false }) tenantIDControl: TextboxComponent;\r\n  @ViewChild('clientIDControl', { static: false }) clientIDControl: TextboxComponent;\r\n  @ViewChild('clientSecretControl', { static: false }) clientSecretControl: TextboxComponent;\r\n\r\n  showAzureControls: boolean;\r\n\r\n  constructor(private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private ActiveDirectoryService: ActiveDirectoryService,\r\n    private router: Router, private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n  async ngOnInit() {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"AddActiveDirectory\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n      { title: this.utilityService.getResourceValue(\"ADConnection\"), path: '/Admin/ADConnection', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  //Init page\r\n  initializePage() {\r\n    this.ActiveDirectoryService.loaddropdowns().subscribe((result) => {\r\n      let reultObj = result as any;\r\n      this.permissionSetList = reultObj.permissionSets;\r\n      this.adTypesList = reultObj.adTypes;\r\n      this.adWindowsTypes = reultObj.adWindowsTypes;\r\n      this.languagesList = reultObj.languages;\r\n      this.welcomeMsgTempList = reultObj.templates;\r\n      this.fileProviders = reultObj.fileProviders;\r\n\r\n      this.mappingPropertiesList = reultObj.mappingProperties;\r\n      this.mappingTypesList = reultObj.mappingTypes;\r\n\r\n      this.addActiveDirectoryForm = new FormGroup({});\r\n      this.addActiveDirectoryFormOptions = new FormOptions();\r\n      this.addActiveDirectoryFormOptions.formGroup = this.addActiveDirectoryForm;\r\n      this.addActiveDirectoryFormOptions.getModelFunction = this.getAddADModel;\r\n      this.addActiveDirectoryFormOptions.serviceSubmitFunction = this.getAddADFunction;\r\n      this.addActiveDirectoryFormOptions.onSuccessHandler = this.addADOnSuccess;\r\n\r\n      this.addTypeOptions = new DropdownOptions();\r\n      this.addTypeOptions.name = \"addTypeOptions\";\r\n      this.addTypeOptions.labelKey = \"Type\";\r\n      this.addTypeOptions.viewType = ControlLayout.Horizontal;\r\n      this.addTypeOptions.dataSource = this.adTypesList;\r\n      this.addTypeOptions.singleSelection = true;\r\n      this.addTypeOptions.allowSearchFilter = true;\r\n      this.addTypeOptions.isRequired = true;\r\n\r\n      this.addName = new TextBoxOptions();\r\n      this.addName.name = \"addName\";\r\n      this.addName.labelKey = \"Name\";\r\n      this.addName.type = InputType.Text;\r\n      this.addName.value = null;\r\n      this.addName.isRequired = true;\r\n      this.addName.maxLength = 100;\r\n\r\n      this.addPermissionSet = new DropdownOptions();\r\n      this.addPermissionSet.name = \"addPermissionSet\";\r\n      this.addPermissionSet.labelKey = \"PermissionSet\";\r\n      this.addPermissionSet.dataSource = this.permissionSetList;\r\n      this.addPermissionSet.singleSelection = true;\r\n      this.addPermissionSet.allowSearchFilter = true;\r\n      this.addPermissionSet.isRequired = true;\r\n\r\n      this.addLanguage = new DropdownOptions();\r\n      this.addLanguage.name = \"addLanguage\";\r\n      this.addLanguage.labelKey = \"Language\";\r\n      this.addLanguage.dataSource = this.languagesList;\r\n      this.addLanguage.singleSelection = true;\r\n      this.addLanguage.allowSearchFilter = true;\r\n      this.addLanguage.isRequired = true;\r\n\r\n      this.addWelcomeMsgTemp = new DropdownOptions();\r\n      this.addWelcomeMsgTemp.name = \"addWelcomeMsgTemp\";\r\n      this.addWelcomeMsgTemp.labelKey = \"WelcomeMsgTemplate\";\r\n      this.addWelcomeMsgTemp.dataSource = this.welcomeMsgTempList;\r\n      this.addWelcomeMsgTemp.singleSelection = true;\r\n      this.addWelcomeMsgTemp.allowSearchFilter = true;\r\n\r\n      this.addFileProvider = new DropdownOptions();\r\n      this.addFileProvider.name = \"addFileProvider\";\r\n      this.addFileProvider.labelKey = \"FileProvider\";\r\n      this.addFileProvider.dataSource = this.fileProviders;\r\n      this.addFileProvider.singleSelection = true;\r\n      this.addFileProvider.allowSearchFilter = true;\r\n\r\n      this.addMarkInactive = new ToggleSlideOptions();\r\n      this.addMarkInactive.name = \"addMarkInactive\";\r\n      this.addMarkInactive.labelKey = \"MarkAsInactive\";\r\n      this.addMarkInactive.value = false;\r\n      this.addMarkInactive.viewType = ControlLayout.Horizontal;\r\n\r\n      this.addDailyJob = new ToggleSlideOptions();\r\n      this.addDailyJob.name = \"addDailyJob\";\r\n      this.addDailyJob.labelKey = \"AddToDailyJob\";\r\n      this.addDailyJob.value = false;\r\n      this.addDailyJob.viewType = ControlLayout.Horizontal;\r\n\r\n      //set AD mapping\r\n      let data: any = this.getADMappingOptions(reultObj.adMappings);\r\n      this.addMappingsOptions = data[0];\r\n      this.addMappingsCount = data[1];\r\n\r\n      setTimeout(() => {\r\n        this.isAddFormLoaded = true;\r\n      }, 50);\r\n\r\n    });\r\n  }\r\n\r\n  //Add Active directory functions\r\n  getAddADModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.addActiveDirectoryForm.value as any;\r\n    //console.log(ResultModel);\r\n    let AddModel: ActiveDirectoryAddEditModel = new ActiveDirectoryAddEditModel();\r\n    AddModel.ConnectionName = resultModel.addName;\r\n    AddModel.ADTypeItemID_GUID = resultModel.addTypeOptions;\r\n    AddModel.PermissionSetID = resultModel.addPermissionSet != null ? resultModel.addPermissionSet : null;\r\n    AddModel.LangKey = resultModel.addLanguage;\r\n    AddModel.WelcomeTemplateID = resultModel.addWelcomeMsgTemp != null ? Number(resultModel.addWelcomeMsgTemp) : null;\r\n    AddModel.ImagesFileProviderName = resultModel.addFileProvider;\r\n    AddModel.MarkAsInactive = resultModel.addMarkInactive;\r\n    AddModel.AddToDailyJob = resultModel.addDailyJob;\r\n\r\n    if (this.selectedType == ActiveDirectoryType.Windows) {\r\n      AddModel.Identifiers = this.identifiers;\r\n      AddModel.Domain = resultModel.addDomain;\r\n      AddModel.SamAccount = resultModel.addSamAccount;\r\n      AddModel.Password = resultModel.addPassword;\r\n      AddModel.ShowBuiltInGroups = resultModel.addShowBuiltInGroups;\r\n      AddModel.ADWindowsTypeItemID_GUID = resultModel.addWindowsTypeOptions;\r\n    }\r\n    else {\r\n      AddModel.TenantID = resultModel.addTenantID;\r\n      AddModel.ClientID = resultModel.addClientID;\r\n      AddModel.ClientSecret = resultModel.addClientSecret;\r\n    }\r\n    for (let j = 0; j < this.addMappingsCount; j++) {\r\n      let addMAppingType = resultModel[\"ADMappingType\" + j];\r\n      if (addMAppingType == undefined)\r\n        continue;\r\n      let editMAppingProperty = resultModel[\"ADMappingProperty\" + j];\r\n      let editMAppingPropertyName = resultModel[\"ADMappingPropertyName\" + j];\r\n\r\n      let adMAppingObj: ADMappingModel = new ADMappingModel();\r\n      adMAppingObj.ADMappingTypeItemID = addMAppingType;\r\n      adMAppingObj.BBSFPropertyName = editMAppingProperty;\r\n      adMAppingObj.ADPropertyName = editMAppingPropertyName;\r\n      let adMAppingIncludeInUpdate = resultModel[\"ADMappingIncludeUpdate\" + j];\r\n      let adMAppingHiddenIncludeInUpdate = resultModel[\"ADMappingHiddenIncludeUpdate\" + j];\r\n      adMAppingObj.IncludeInUpdate = adMAppingIncludeInUpdate == undefined ? adMAppingHiddenIncludeInUpdate : adMAppingIncludeInUpdate;\r\n\r\n      AddModel.ADMappings.push(adMAppingObj);\r\n    }\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n  getAddADFunction = (addModel): Observable<any> => {\r\n    return this.ActiveDirectoryService.addActiveDirectory(addModel);\r\n  };\r\n  addADOnSuccess = (result) => {\r\n    this.router.navigate(['/Admin/ADConnection']);\r\n  };\r\n\r\n  //Mapping functions\r\n  getADMappingOptions(ADMappings: any[]) {\r\n    let ADMappingOptions: any[] = [];\r\n    let ADMappingCount: number = 0;\r\n    for (let i = 0; i < ADMappings.length; i++) {\r\n\r\n      let objectMappingOptions: any[] = [];\r\n\r\n      let ADMappingType = new DropdownOptions();\r\n      let selectedType = this.mappingTypesList.filter((item) => { return item.key == ADMappings[i].adMappingTypeItemID; }).map((item) => item.key)[0];\r\n      ADMappingType.name = \"ADMappingType\" + i;\r\n      ADMappingType.hideLabel = true;\r\n      ADMappingType.singleSelection = true;\r\n      ADMappingType.selectedItems = selectedType;\r\n      ADMappingType.viewType = ControlLayout.Horizontal;\r\n      ADMappingType.dataSource = this.mappingTypesList;\r\n      ADMappingType.isRequired = true;\r\n\r\n      let ADMappingProperty = new DropdownOptions();\r\n      let selectedProperty = this.mappingPropertiesList.filter((item) => { return item.key == ADMappings[i].bbsfPropertyName; }).map((item) => item.key)[0];\r\n      ADMappingProperty.name = \"ADMappingProperty\" + i;\r\n      ADMappingProperty.hideLabel = true;\r\n      ADMappingProperty.singleSelection = true;\r\n      ADMappingProperty.selectedItems = selectedProperty;\r\n      ADMappingProperty.viewType = ControlLayout.Horizontal;\r\n      ADMappingProperty.dataSource = this.mappingPropertiesList;\r\n      ADMappingProperty.isRequired = true;\r\n\r\n\r\n      let ADMappingPropertyName = new TextBoxOptions();\r\n      ADMappingPropertyName.name = \"ADMappingPropertyName\" + i;\r\n      ADMappingPropertyName.hideLabel = true;\r\n      ADMappingPropertyName.type = InputType.Text;\r\n      ADMappingPropertyName.value = ADMappings[i].adPropertyName;\r\n      ADMappingPropertyName.isRequired = false;\r\n      ADMappingPropertyName.viewType = ControlLayout.Horizontal;\r\n      ADMappingPropertyName.isRequired = true;\r\n      ADMappingPropertyName.maxLength = 1024;\r\n\r\n      let ADMappingIncludeUpdate = new CheckBoxOptions();\r\n      ADMappingIncludeUpdate.name = \"ADMappingIncludeUpdate\" + i;\r\n      ADMappingIncludeUpdate.value = ADMappings[i].includeInUpdate;\r\n      ADMappingIncludeUpdate.isDisabled = true;\r\n\r\n      let ADMappingHiddenIncludeUpdate = new TextBoxOptions();\r\n      ADMappingHiddenIncludeUpdate.name = \"ADMappingHiddenIncludeUpdate\" + i;\r\n      ADMappingHiddenIncludeUpdate.hideLabel = true;\r\n      ADMappingHiddenIncludeUpdate.type = InputType.Text;\r\n      ADMappingHiddenIncludeUpdate.value = ADMappings[i].includeInUpdate;\r\n\r\n      objectMappingOptions.push(ADMappingType, ADMappingProperty, ADMappingPropertyName, ADMappingIncludeUpdate, ADMappingHiddenIncludeUpdate);\r\n      ADMappingOptions.push(objectMappingOptions);\r\n      ADMappingCount += 1;\r\n\r\n    }\r\n    return [ADMappingOptions, ADMappingCount];\r\n  }\r\n  deleteADMapping(deletedADMApping: any) {\r\n    let deletedMappingIndex: number = this.addMappingsOptions.indexOf(deletedADMApping);\r\n    if (deletedMappingIndex !== -1) {\r\n      this.addMappingsOptions.splice(deletedMappingIndex, 1);\r\n      for (var i = 0; i < deletedADMApping.length; i++) {\r\n        this.addActiveDirectoryForm.removeControl(deletedADMApping[i].Name);\r\n      }\r\n    }\r\n  }\r\n  addADMapping() {\r\n    let index = this.addMappingsCount;\r\n\r\n    let objectMappingOptions: any[] = [];\r\n\r\n    let ADMappingType = new DropdownOptions();\r\n    ADMappingType.name = \"ADMappingType\" + index;\r\n    ADMappingType.hideLabel = true;\r\n    ADMappingType.singleSelection = true;\r\n    ADMappingType.viewType = ControlLayout.Horizontal;\r\n    ADMappingType.dataSource = this.mappingTypesList;\r\n\r\n    let ADMappingProperty = new DropdownOptions();\r\n    ADMappingProperty.name = \"ADMappingProperty\" + index;\r\n    ADMappingProperty.hideLabel = true;\r\n    ADMappingProperty.singleSelection = true;\r\n    ADMappingProperty.viewType = ControlLayout.Horizontal;\r\n    ADMappingProperty.dataSource = this.mappingPropertiesList;\r\n\r\n\r\n    let ADMappingPropertyName = new TextBoxOptions();\r\n    ADMappingPropertyName.name = \"ADMappingPropertyName\" + index;\r\n    ADMappingPropertyName.hideLabel = true;\r\n    ADMappingPropertyName.type = InputType.Text;\r\n    ADMappingPropertyName.isRequired = false;\r\n    ADMappingPropertyName.viewType = ControlLayout.Horizontal;\r\n\r\n    let ADMappingIncludeUpdate = new CheckBoxOptions();\r\n    ADMappingIncludeUpdate.name = \"ADMappingIncludeUpdate\" + index;\r\n    ADMappingIncludeUpdate.value = true;\r\n\r\n    let ADMappingHiddenIncludeUpdate = new TextBoxOptions();\r\n    ADMappingHiddenIncludeUpdate.name = \"ADMappingHiddenIncludeUpdate\" + index;\r\n    ADMappingHiddenIncludeUpdate.hideLabel = true;\r\n    ADMappingHiddenIncludeUpdate.type = InputType.Text;\r\n\r\n    objectMappingOptions.push(ADMappingType, ADMappingProperty, ADMappingPropertyName, ADMappingIncludeUpdate, ADMappingHiddenIncludeUpdate);\r\n\r\n    this.addMappingsOptions.push(objectMappingOptions);\r\n    this.addMappingsCount += 1;\r\n\r\n  }\r\n\r\n\r\n  //AD windows on type change (OU/Group)\r\n  windowsTypeChange(typeValue) {\r\n    if (typeValue == ActiveDirectoryWindowConnectionType.ActiveDirectoryGroup) {\r\n      this.addShowBuiltInGroups = new ToggleSlideOptions();\r\n      this.addShowBuiltInGroups.name = \"addShowBuiltInGroups\";\r\n      this.addShowBuiltInGroups.labelValue = \"ShowBuiltInGroups\";\r\n      this.addShowBuiltInGroups.labelKey = \"ShowBuiltInGroups\";\r\n      this.addShowBuiltInGroups.value = false;\r\n      this.addShowBuiltInGroups.viewType = ControlLayout.Horizontal;\r\n\r\n      this.addShowBuiltInGroupsVisible = true;\r\n    }\r\n    else {\r\n      this.addActiveDirectoryForm.removeControl(\"addShowBuiltInGroups\");\r\n      this.addShowBuiltInGroupsVisible = false;\r\n    }\r\n  }\r\n\r\n  //AD on type changes (Windows/Azure)\r\n  typeChange(typeValue) {\r\n    this.selectedType = typeValue;\r\n    if (typeValue == ActiveDirectoryType.Windows) {\r\n      this.formsCount = 3;\r\n      //Remove Azure controls if found\r\n      this.addActiveDirectoryForm.removeControl(\"addTenantID\");\r\n      this.addActiveDirectoryForm.removeControl(\"addClientID\");\r\n      this.addActiveDirectoryForm.removeControl(\"addClientSecret\");\r\n\r\n      //Initialize windows controls\r\n      this.addWindowsTypeOptions = new DropdownOptions();\r\n      this.addWindowsTypeOptions.name = \"addWindowsTypeOptions\";\r\n      this.addWindowsTypeOptions.labelKey = \"WindowsType\";\r\n      this.addWindowsTypeOptions.viewType = ControlLayout.Horizontal;\r\n      this.addWindowsTypeOptions.dataSource = this.adWindowsTypes;\r\n      this.addWindowsTypeOptions.singleSelection = true;\r\n      this.addWindowsTypeOptions.allowSearchFilter = true;\r\n      this.addWindowsTypeOptions.isRequired = true;\r\n\r\n      this.addDomain = new TextBoxOptions();\r\n      this.addDomain.name = \"addDomain\";\r\n      this.addDomain.labelKey = \"Domain\";\r\n      this.addDomain.type = InputType.Text;\r\n      this.addDomain.value = null;\r\n      this.addDomain.isRequired = true;\r\n      this.addDomain.maxLength = 256;\r\n\r\n      this.addSamAccount = new TextBoxOptions();\r\n      this.addSamAccount.name = \"addSamAccount\";\r\n      this.addSamAccount.labelKey = \"SamAccount\";\r\n      this.addSamAccount.type = InputType.Text;\r\n      this.addSamAccount.value = null;\r\n      this.addSamAccount.maxLength = 20;\r\n\r\n      this.addPassword = new TextBoxOptions();\r\n      this.addPassword.name = \"addPassword\";\r\n      this.addPassword.labelKey = \"Password\";\r\n      this.addPassword.type = InputType.Password;\r\n      this.addPassword.value = null;\r\n      this.addPassword.removeDefaultPasswordValidation = true;\r\n      this.addPassword.maxLength = 4000;\r\n\r\n      this.showAzureControls = false;\r\n      this.showWindowsControls = true;\r\n\r\n    } else {\r\n      this.formsCount = 2;\r\n      //Remove windows controls if found\r\n      this.addActiveDirectoryForm.removeControl(\"addDomain\");\r\n      this.addActiveDirectoryForm.removeControl(\"addSamAccount\");\r\n      this.addActiveDirectoryForm.removeControl(\"addPassword\");\r\n      this.addActiveDirectoryForm.removeControl(\"addShowBuiltInGroups\");\r\n      this.addActiveDirectoryForm.removeControl(\"addWindowsTypeOptions\");\r\n\r\n      this.addTenantID = new TextBoxOptions();\r\n      this.addTenantID.name = \"addTenantID\";\r\n      this.addTenantID.labelKey = \"TenantID\";\r\n      this.addTenantID.type = InputType.Text;\r\n      this.addTenantID.value = null;\r\n      this.addTenantID.isRequired = true;\r\n      this.addTenantID.maxLength = 100;\r\n\r\n      this.addClientID = new TextBoxOptions();\r\n      this.addClientID.name = \"addClientID\";\r\n      this.addClientID.labelKey = \"ClientID\";\r\n      this.addClientID.type = InputType.Text;\r\n      this.addClientID.value = null;\r\n      this.addClientID.isRequired = true;\r\n      this.addClientID.maxLength = 100;\r\n\r\n      this.addClientSecret = new TextBoxOptions();\r\n      this.addClientSecret.name = \"addClientSecret\";\r\n      this.addClientSecret.labelKey = \"ClientSecret\";\r\n      this.addClientSecret.type = InputType.Text;\r\n      this.addClientSecret.value = null;\r\n      this.addClientSecret.isRequired = true;\r\n      this.addClientSecret.maxLength = 100;\r\n\r\n      this.showAzureControls = true;\r\n      this.showWindowsControls = false;\r\n    }\r\n  }\r\n\r\n  //Wizard functions\r\n  nextStep() {\r\n    const currentStep = this.currentStep$.value;\r\n    const nextStep = currentStep + 1;\r\n    let ResultModel = this.addActiveDirectoryForm.value as any;\r\n\r\n    //Check required fields for next step\r\n    if (currentStep == 1) {\r\n      if (ResultModel.addTypeOptions) {\r\n        if (this.selectedType == ActiveDirectoryType.Windows) {\r\n          if (!ResultModel.addDomain || !ResultModel.addWindowsTypeOptions) {\r\n            this.adDomainControl.isValid();\r\n            this.adWindowsTypeControl.isValid();\r\n            return;\r\n          }\r\n        }\r\n        else {\r\n          if (!ResultModel.addTenantID || !ResultModel.addClientID || !ResultModel.addClientSecret) {\r\n            this.tenantIDControl.isValid();\r\n            this.clientIDControl.isValid();\r\n            this.clientSecretControl.isValid();\r\n            return;\r\n          }\r\n        }\r\n      }\r\n      else {\r\n        this.adTypeControl.isValid();\r\n        return;\r\n      }\r\n    }\r\n\r\n    if (this.selectedType == ActiveDirectoryType.Windows) {\r\n\r\n      if (nextStep === 2 && currentStep === 1) {\r\n        this.treeDataLoaded = false;\r\n\r\n        //if (!this.addActiveDirectoryForm.get('addDomain').valid || !this.addActiveDirectoryForm.get('addTypeOptions').valid) {\r\n        //  return;\r\n\r\n        this.utilityService.startBlockUI();\r\n        console.log(ResultModel);\r\n\r\n        let AddModel: ActiveDirectoryAddEditModel = new ActiveDirectoryAddEditModel();\r\n        AddModel.ConnectionName = ResultModel.addName;\r\n        AddModel.Domain = ResultModel.addDomain;\r\n        AddModel.ADWindowsTypeItemID_GUID = ResultModel.addWindowsTypeOptions;\r\n        AddModel.SamAccount = ResultModel.addSamAccount;\r\n        AddModel.Password = ResultModel.addPassword;\r\n        AddModel.ShowBuiltInGroups = ResultModel.addShowBuiltInGroups;\r\n\r\n\r\n        this.ActiveDirectoryService.checkValidationandGetData(AddModel).subscribe((result) => {\r\n          this, this.utilityService.stopBlockUI();\r\n          var data = result as any;\r\n          if (data.val) {\r\n            this.treeNodeData = data.treeData;\r\n            this.errorIsFound = false;\r\n            /////////////////////\r\n            let _transformer = (node: ADNode, level: number) => {\r\n              return {\r\n                expandable: !!node.children && node.children.length > 0,\r\n                name: node.text,\r\n                level: level,\r\n                icon: node.icon,\r\n                selectable: node.selectable,\r\n                Index: node.Index,\r\n                data: node.data\r\n              };\r\n            };\r\n\r\n            this.treeControl = new FlatTreeControl<FlatNode>(\r\n              node => node.level, node => node.expandable);\r\n            this.treeFlattener = new MatTreeFlattener(\r\n              _transformer, node => node.level, node => node.expandable, node => node.children);\r\n            this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n            let jsonData = JSON.parse(this.treeNodeData);\r\n            this.dataSource.data = jsonData;\r\n\r\n            this.hasChild = (_: number, node: FlatNode) => node.expandable;\r\n            this.treeDataLoaded = true;\r\n            /////////////////////\r\n            this.currentStep$.next(nextStep);\r\n\r\n          }\r\n          else {\r\n            this.validationError = data.error;\r\n            this.errorIsFound = true;\r\n          }\r\n\r\n        }, (error) => {\r\n          this.utilityService.stopBlockUI();\r\n          this.utilityService.notifyErrorMessage();\r\n          return false;\r\n        });\r\n        // https://angular.io/guide/forms\r\n        // https://angular.io/guide/form-validation\r\n\r\n        // validate the form and use below function to stop the wizard's step\r\n        // wizardObj.stop();\r\n      }\r\n      else {\r\n        if (this.identifiers === undefined || this.identifiers.length == 0) {\r\n          this.utilityService.notifyWarningMessage(this.utilityService.getResourceValue(\"VAL_AtLeastOneIsRequired\"));\r\n          return;\r\n        }\r\n        else {\r\n          this.addName.value = this.identifierName + \" connection\";\r\n          this.currentStep$.next(nextStep);\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      this.currentStep$.next(nextStep);\r\n    }\r\n  };\r\n  prevStep() {\r\n    let currentStep = this.currentStep$.value;\r\n    let prevStep = this.currentStep$.value - 1;\r\n    if (prevStep === 0) {\r\n      return;\r\n    }\r\n    this.currentStep$.next(prevStep);\r\n  }\r\n\r\n  setIdentifier(obj: MatCheckboxChange, selectedNode: ADNode) {\r\n    this.selected = selectedNode.Index;\r\n    if (obj.checked) {\r\n      this.identifiers.push(selectedNode.data);\r\n      this.identifierName = selectedNode.text;\r\n    }\r\n    else {\r\n      const index = this.identifiers.indexOf(selectedNode.data, 0);\r\n      if (index > -1) {\r\n        this.identifiers.splice(index, 1);\r\n      }\r\n      this.identifierName = \"\";\r\n    }\r\n  }\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n\r\n","\r\n\r\n<div class=\"container-fluid\">\r\n  <div class=\"stepper stepper-pills stepper-column d-flex flex-column flex-xl-row flex-row-fluid \" id=\"kt_create_account_stepper\">\r\n    <div class=\"d-flex justify-content-center rounded justify-content-xl-start flex-row-auto me-9 card\">\r\n      <div class=\"card-body px-6 px-lg-10 px-xxl-15 py-20\">\r\n        <div class=\"stepper-nav\">\r\n          <div class=\"stepper-item\" [ngClass]=\"{current: currentStep$.value === 1 }\">\r\n            <div class=\"stepper-line w-40px\"></div>\r\n\r\n            <div class=\"stepper-icon w-40px h-40px\">\r\n              <i class=\"stepper-check fas fa-check\"></i>\r\n              <span class=\"stepper-number\">1</span>\r\n            </div>\r\n\r\n            <div class=\"stepper-label\">\r\n              <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory\")}}</h3>\r\n\r\n              <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab1Note\")}}</div>\r\n            </div>\r\n          </div>\r\n\r\n          <div *ngIf=\"showWindowsControls\" class=\"stepper-item\" [ngClass]=\"{current: currentStep$.value === 2 && showWindowsControls}\">\r\n            <div class=\"stepper-line w-40px\"></div>\r\n\r\n            <div class=\"stepper-icon w-40px h-40px\">\r\n              <i class=\"stepper-check fas fa-check\"></i>\r\n              <span class=\"stepper-number\">2</span>\r\n            </div>\r\n\r\n            <div class=\"stepper-label\">\r\n              <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory_SelectContainer\")}}</h3>\r\n              <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab2Note\")}}</div>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"stepper-item\" [ngClass]=\"{current: (currentStep$.value === formsCount ) }\">\r\n            <div class=\"stepper-line w-40px\"></div>\r\n\r\n            <div class=\"stepper-icon w-40px h-40px\">\r\n              <i class=\"stepper-check fas fa-check\"></i>\r\n              <span class=\"stepper-number\">{{formsCount}}</span>\r\n            </div>\r\n\r\n            <div class=\"stepper-label\">\r\n              <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"Options\")}}</h3>\r\n              <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab3Note\")}}</div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    \r\n\r\n    <div class=\"card d-flex flex-row-fluid flex-center rounded\">\r\n      <div class=\"p-20 w-100 card-body\" *ngIf=\"isAddFormLoaded\">\r\n        <BBSF-Form [options]=\"addActiveDirectoryFormOptions\">\r\n          <div class=\"current\">\r\n            <ng-container *ngIf=\"currentStep$.value === 1\">\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-DropdownList #adTypeControl [options]=\"addTypeOptions\" [group]=\"addActiveDirectoryForm\" (onChange)=\"typeChange($event)\">\r\n                </BBSF-DropdownList>\r\n              </div>\r\n              <div *ngIf=\"showWindowsControls\">\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-DropdownList #adWindowsTypeControl [options]=\"addWindowsTypeOptions\" [group]=\"addActiveDirectoryForm\" (onChange)=\"windowsTypeChange($event)\">\r\n                  </BBSF-DropdownList>\r\n                </div>\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox #adDomainControl [options]=\"addDomain\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                  <div *ngIf=\"errorIsFound\" class=\"text-danger\">{{validationError}}</div>\r\n                </div>\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox [options]=\"addSamAccount\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox [options]=\"addPassword\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n                <div class=\"form-group mb-10\" *ngIf=\"addShowBuiltInGroupsVisible\">\r\n                  <BBSF-Toggleslide [options]=\"addShowBuiltInGroups\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-Toggleslide>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"showAzureControls\">\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox #tenantIDControl [options]=\"addTenantID\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox #clientIDControl [options]=\"addClientID\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n                <div class=\"form-group mb-10\">\r\n                  <BBSF-TextBox #clientSecretControl [options]=\"addClientSecret\" [group]=\"addActiveDirectoryForm\">\r\n                  </BBSF-TextBox>\r\n                </div>\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"currentStep$.value === 2 && showWindowsControls\">\r\n              <div id=\"treeDataContainer\" *ngIf=\"treeDataLoaded\">\r\n\r\n\r\n                <!--------Helllllllllllllllllllo---------->\r\n                <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n                  <!-- This is the tree node template for leaf nodes -->\r\n                  <mat-tree-node *matTreeNodeDef=\"let node;\" matTreeNodePadding>\r\n                    <!-- use a disabled button to provide padding for tree leaf -->\r\n\r\n                    <mat-checkbox class=\"checklist-leaf-node\" (change)=\"setIdentifier($event,node)\" [disabled]=\"node.selectable?false:true\">\r\n                      {{node.name}}\r\n                    </mat-checkbox>\r\n                  </mat-tree-node>\r\n                  <!-- This is the tree node template for expandable nodes -->\r\n                  <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding>\r\n                    <button type=\"button\" mat-icon-button matTreeNodeToggle\r\n                            [attr.aria-label]=\"'Toggle ' + node.name\" class=\"btn btn-icon btn-bg-light btn-active-color-primary btn-sm me-1 \">\r\n                      <i *ngIf=\"treeControl.isExpanded(node)\" class=\"fas fa-chevron-down\"></i>\r\n                      <i *ngIf=\"!treeControl.isExpanded(node)\" class=\"fas fa-chevron-right\"></i>\r\n\r\n                    </button>\r\n                    <mat-checkbox [disabled]=\"node.selectable?false:true\">{{node.name}}</mat-checkbox>\r\n\r\n                  </mat-tree-node>\r\n                </mat-tree>\r\n              </div>\r\n            </ng-container>\r\n\r\n            <ng-container *ngIf=\"currentStep$.value === formsCount\">\r\n              <div class=\"form-group\">\r\n                <BBSF-TextBox [options]=\"addName\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-TextBox>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-DropdownList [options]=\"addPermissionSet\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-DropdownList>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-DropdownList [options]=\"addLanguage\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-DropdownList>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-DropdownList [options]=\"addWelcomeMsgTemp\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-DropdownList>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-DropdownList [options]=\"addFileProvider\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-DropdownList>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-Toggleslide [options]=\"addMarkInactive\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-Toggleslide>\r\n              </div>\r\n              <div class=\"form-group mb-10\">\r\n                <BBSF-Toggleslide [options]=\"addDailyJob\" [group]=\"addActiveDirectoryForm\">\r\n                </BBSF-Toggleslide>\r\n              </div>\r\n              <div class=\"table-responsive\">\r\n                <!-- begin::Table -->\r\n                <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n                  <thead>\r\n                    <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n                      <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Type\")}}</th>\r\n                      <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Property\")}}</th>\r\n                      <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ADProperty\")}}</th>\r\n                      <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"IncludeInUpdate\")}}</th>\r\n                      <th class=\"min-w-50px\"></th>\r\n                    </tr>\r\n                  </thead>\r\n                  <tbody class=\"fw-bold text-gray-600 border-0\">\r\n                    <tr *ngFor=\"let option of addMappingsOptions;let i=index;\">\r\n                      <td>\r\n                        <BBSF-DropdownList [options]=\"option[0]\" [group]=\"addActiveDirectoryForm\">\r\n                        </BBSF-DropdownList>\r\n                      </td>\r\n                      <td>\r\n                        <BBSF-DropdownList [options]=\"option[1]\" [group]=\"addActiveDirectoryForm\">\r\n                        </BBSF-DropdownList>\r\n                      </td>\r\n                      <td>\r\n                        <BBSF-TextBox [options]=\"option[2]\" [group]=\"addActiveDirectoryForm\">\r\n                        </BBSF-TextBox>\r\n                      </td>\r\n                      <td>\r\n                        <BBSF-CheckBox [options]=\"option[3]\" [group]=\"addActiveDirectoryForm\">\r\n                        </BBSF-CheckBox>\r\n                        <!--Hidden include in update value-->\r\n                        <BBSF-TextBox [options]=\"option[4]\" [group]=\"addActiveDirectoryForm\" [hidden]=\"true\">\r\n                        </BBSF-TextBox>\r\n                      </td>\r\n\r\n                      <td>\r\n                        <a class=\"btn btn-icon btn-light-danger\" (click)=\"deleteADMapping(option)\">\r\n                          <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n                        </a>\r\n                      </td>\r\n                    </tr>\r\n                    <tr>\r\n                      <td colspan=\"5\">\r\n                        <button type=\"button\" class=\"w-100 btn btn-success\" (click)=\"addADMapping()\">\r\n                          {{utilityService.getResourceValue(\"AddNewRecord\")}}\r\n                        </button>\r\n                      </td>\r\n                    </tr>\r\n                  </tbody>\r\n                </table>\r\n\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n\r\n          <div class=\"d-flex flex-stack pt-10\">\r\n            <div class=\"mr-2\">\r\n              <ng-container *ngIf=\"currentStep$.value !== 1\">\r\n                <button type=\"button\"\r\n                        class=\"btn btn-lg btn-light-primary me-3\"\r\n                        (click)=\"prevStep()\">\r\n                  <span [inlineSVG]=\"'./src/assets/images/arr063.svg'\"\r\n                        class=\"svg-icon svg-icon-4 me-1\"></span>\r\n                  {{utilityService.getResourceValue(\"Previous\")}}\r\n                </button>\r\n              </ng-container>\r\n            </div>\r\n            <ng-container *ngIf=\"currentStep$.value !== formsCount\">\r\n              <div>\r\n                <button type=\"button\"\r\n                        class=\"btn btn-lg btn-primary me-3\"\r\n                        (click)=\"nextStep()\">\r\n                  <span class=\"indicator-label\">\r\n                    <ng-container *ngIf=\"currentStep$.value < formsCount\">\r\n                      {{utilityService.getResourceValue(\"Next\")}} {{ \" \" }}\r\n                      <span [inlineSVG]=\"'./src/assets/images/arr064.svg'\"\r\n                            class=\"svg-icon svg-icon-3 ms-2 me-0\"></span>\r\n                    </ng-container>\r\n\r\n                  </span>\r\n                </button>\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"currentStep$.value === formsCount\">\r\n              <button type=\"submit\" class=\"btn btn-lg btn-primary me-3\">\r\n                {{utilityService.getResourceValue(\"Submit\")}}\r\n              </button>\r\n\r\n            </ng-container>\r\n          </div>\r\n        </BBSF-Form>\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n\r\n\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ActiveDirectoryComponent } from './active-directory/active-directory.component';\r\nimport { ActiveDirectoriesComponent } from './active-directories.component';\r\nimport { ActiveDirectoryAddComponent } from './active-directory-add/active-directory-add.component';\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\", component: ActiveDirectoriesComponent, children: [\r\n      { path: \"ADConnection\", component: ActiveDirectoryComponent },\r\n      { path: \"Add\", component: ActiveDirectoryAddComponent },\r\n      { path: \"\", redirectTo: 'ADConnection', pathMatch: 'full' },\r\n\r\n\r\n    ]\r\n  }\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class ActiveDirectoryRoutingModule { }\r\n","import { ActiveDirectoryComponent } from './active-directory/active-directory.component';\r\nimport { ActiveDirectoriesComponent } from './active-directories.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { ActiveDirectoryRoutingModule } from './active-directory-routing.module';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { ActiveDirectoryAddComponent } from './active-directory-add/active-directory-add.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ActiveDirectoryService } from '../shared/Services/ActiveDirectoryService.service';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\n\r\n@NgModule({\r\n  declarations: [ActiveDirectoryComponent, ActiveDirectoriesComponent, ActiveDirectoryAddComponent],\r\n  imports: [\r\n    ActiveDirectoryRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    MatMenuModule,\r\n    InlineSVGModule,\r\n    NgbModule,\r\n    EmptyDataModule,\r\n    MatTreeModule,\r\n    MatIconModule,\r\n    MatCheckboxModule\r\n\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    ActiveDirectoryService\r\n  ]\r\n\r\n})\r\nexport class ActiveDirectoryModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-documents',\r\n    templateUrl: './documents.component.html',\r\n    standalone: false\r\n})\r\nexport class DocumentsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class DocumentHeaderAndFooterTemplate {\r\n  ID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Header: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Footer: EnglishArabicDTO = new EnglishArabicDTO();\r\n  HeadContent: EnglishArabicDTO = new EnglishArabicDTO();\r\n  IsLandscape: boolean;\r\n  ShowPaging: boolean;\r\n  TOP: number;\r\n  Bottom: number;\r\n  Right: number;\r\n  Left: number;\r\n  PageHeight: number;\r\n  PageWidth: number;\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\nimport { DocumentHeaderAndFooterTemplate } from \"../models/DocumentsModels/DocumentHeaderAndFooterTemplate\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DocumentHeaderAndFooterTemplateService {\r\n  ApiUrl = \"/api/admin/DocumentHeaderAndFooterTemplate/\";\r\n\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  addDocumentHeaderAndFooterTemplate(AddModel: DocumentHeaderAndFooterTemplate) {\r\n    return this.http.post(this.ApiUrl + 'AddDocumentHeaderAndFooterTemplate', AddModel);\r\n  }\r\n\r\n  getDocumentHeaderAndFooterTemplateById(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id.toString());\r\n    return this.http.get(this.ApiUrl + 'EditDocumentHeaderAndFooterTemplate', params);\r\n  }\r\n\r\n  editDocumentHeaderAndFooterTemplate(EditModel) {\r\n    return this.http.post(this.ApiUrl + 'EditDocumentHeaderAndFooterTemplate', EditModel);\r\n  }\r\n\r\n  generateCode() {\r\n    return this.http.get(this.ApiUrl + 'GenerateCodeAll', null);\r\n  }\r\n\r\n  deleteHeaderAndFooterTemplate(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteDocumentHeaderAndFooterTemplate', JSON.stringify(id));\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckBoxOptions, FormOptions, InputType, MultiLingualHtmlEditorOptions, MultiLingualTextBoxOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { Router } from '@angular/router';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentHeaderAndFooterTemplateService } from '../../shared/Services/DocumentHeaderAndFooterTemplate.service';\r\nimport { DocumentHeaderAndFooterTemplate } from '../../shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate';\r\n\r\n@Component({\r\n    selector: 'lib-add-document',\r\n    templateUrl: './add-document.component.html',\r\n    standalone: false\r\n})\r\nexport class AddDocumentComponent implements OnInit {\r\n  //Page requirements\r\n  showPageContent: boolean = false;\r\n\r\n  //Add Model Controls\r\n  addForm = new FormGroup({});\r\n  addFormOptions = new FormOptions;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  multiLingualHeader: MultiLingualHtmlEditorOptions;\r\n  multiLingualFooter: MultiLingualHtmlEditorOptions;\r\n  multiLingualHeadContent: MultiLingualHtmlEditorOptions;\r\n  AddTop: TextBoxOptions;\r\n  AddBottom: TextBoxOptions;\r\n  AddLeft: TextBoxOptions;\r\n  AddRight: TextBoxOptions;\r\n  AddPageHeight: TextBoxOptions;\r\n  AddPageWidth: TextBoxOptions;\r\n  AddIsLandscape: CheckBoxOptions;\r\n  AddShowPaging: CheckBoxOptions;\r\n  constructor(public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private documentHeaderAndFooterTemplateService: DocumentHeaderAndFooterTemplateService, private router: Router,\r\n    private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n\r\n    PageInfoService.PageTitle = \"\";\r\n    PageInfoService.PageBreadcrumbs = [\r\n    ];\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n\r\n  }\r\n\r\n  //Initialize add page\r\n  initializePage() {\r\n\r\n    this.addForm = new FormGroup({});\r\n    this.addFormOptions = new FormOptions();\r\n    this.addFormOptions.formGroup = this.addForm;\r\n    this.addFormOptions.getModelFunction = this.getAddModel;\r\n    this.addFormOptions.serviceSubmitFunction = this.getAddFunction;\r\n    this.addFormOptions.onSuccessHandler = this.onAddSuccess;\r\n\r\n    this.multiLingualName = new MultiLingualTextBoxOptions();\r\n    this.multiLingualName.name = \"Name\";\r\n    this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualName.isRequired = true;\r\n    this.multiLingualName.maxLength = 100;\r\n\r\n    this.multiLingualHeader = new MultiLingualHtmlEditorOptions();\r\n    this.multiLingualHeader.name = \"Header\";\r\n    this.multiLingualHeader.arabicLabelKey = \"HeaderInArabic\";\r\n    this.multiLingualHeader.englishLabelKey = \"HeaderInEnglish\";\r\n    this.multiLingualHeader.isRequired = true;\r\n\r\n    this.multiLingualFooter = new MultiLingualHtmlEditorOptions();\r\n    this.multiLingualFooter.name = \"Footer\";\r\n    this.multiLingualFooter.arabicLabelKey = \"FooterInArabic\";\r\n    this.multiLingualFooter.englishLabelKey = \"FooterInEnglish\";\r\n    this.multiLingualFooter.isRequired = true;\r\n\r\n    this.multiLingualHeadContent = new MultiLingualHtmlEditorOptions();\r\n    this.multiLingualHeadContent.name = \"HTMLHeadContent\";\r\n    this.multiLingualHeadContent.arabicLabelKey = \"HTMLHeadContentInArabic\";\r\n    this.multiLingualHeadContent.englishLabelKey = \"HTMLHeadContentInEnglish\";\r\n\r\n    this.AddTop = new TextBoxOptions();\r\n    this.AddTop.name = 'Top';\r\n    this.AddTop.labelKey = 'Top';\r\n    this.AddTop.type = InputType.Number;\r\n\r\n    this.AddBottom = new TextBoxOptions();\r\n    this.AddBottom.name = 'Bottom';\r\n    this.AddBottom.labelKey = 'Bottom';\r\n    this.AddBottom.type = InputType.Number;\r\n\r\n    this.AddLeft = new TextBoxOptions();\r\n    this.AddLeft.name = 'Left';\r\n    this.AddLeft.labelKey = 'Left';\r\n    this.AddLeft.type = InputType.Number;\r\n\r\n    this.AddRight = new TextBoxOptions();\r\n    this.AddRight.name = 'Right';\r\n    this.AddRight.labelKey = 'Right';\r\n    this.AddRight.type = InputType.Number;\r\n\r\n    this.AddPageHeight = new TextBoxOptions();\r\n    this.AddPageHeight.name = 'PageHeight';\r\n    this.AddPageHeight.labelKey = 'PageHeight';\r\n    this.AddPageHeight.type = InputType.Number;\r\n\r\n    this.AddPageWidth = new TextBoxOptions();\r\n    this.AddPageWidth.name = 'PageWidth';\r\n    this.AddPageWidth.labelKey = 'PageWidth';\r\n    this.AddPageWidth.type = InputType.Number;\r\n\r\n    this.AddIsLandscape = new CheckBoxOptions();\r\n    this.AddIsLandscape.name = 'IsLandscape';\r\n    this.AddIsLandscape.labelKey = 'Landscape';\r\n\r\n    this.AddShowPaging = new CheckBoxOptions();\r\n    this.AddShowPaging.name = 'ShowPaging';\r\n    this.AddShowPaging.labelKey = 'ShowPaging';\r\n\r\n\r\n    this.showPageContent = true;\r\n  }\r\n\r\n  getAddModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.addForm.value as any;\r\n    let AddModel = new DocumentHeaderAndFooterTemplate();\r\n    AddModel.Name.english = ResultModel.Name.English;\r\n    AddModel.Name.arabic = ResultModel.Name.Arabic;\r\n    AddModel.Header.english = ResultModel.Header.English;\r\n    AddModel.Header.arabic = ResultModel.Header.Arabic;\r\n    AddModel.Footer.english = ResultModel.Footer.English;\r\n    AddModel.Footer.arabic = ResultModel.Footer.Arabic;\r\n    AddModel.HeadContent.english = ResultModel.HTMLHeadContent.English;\r\n    AddModel.HeadContent.arabic = ResultModel.HTMLHeadContent.Arabic;\r\n    AddModel.TOP = ResultModel.Top;\r\n    AddModel.Bottom = ResultModel.Bottom;\r\n    AddModel.Left = ResultModel.Left;\r\n    AddModel.Right = ResultModel.Right;\r\n    AddModel.PageHeight = ResultModel.PageHeight;\r\n    AddModel.PageWidth = ResultModel.PageWidth;\r\n    AddModel.IsLandscape = ResultModel.IsLandscape;\r\n    AddModel.ShowPaging = ResultModel.ShowPaging;\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddFunction = (AddModel): Observable<any> => {\r\n    return this.documentHeaderAndFooterTemplateService.addDocumentHeaderAndFooterTemplate(AddModel);\r\n  };\r\n\r\n  onAddSuccess = (result) => {\r\n    this.cancelAdd();\r\n  };\r\n\r\n  cancelAdd() {\r\n    this.router.navigate(['/Admin/Documents/MasterLayouts']);\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"showPageContent\">\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body\">\r\n      <BBSF-Form [options]=\"addFormOptions\">\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"multiLingualName\" [group]=\"addForm\"></BBSF-MultiLingualTextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeader\" [group]=\"addForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualFooter\" [group]=\"addForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeadContent\" [group]=\"addForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <h2> {{utilityService.getResourceValue(\"Options\")}}</h2>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddTop\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddBottom\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddLeft\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddRight\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddPageHeight\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"AddPageWidth\" [group]=\"addForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-CheckBox [options]=\"AddIsLandscape\" [group]=\"addForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-CheckBox [options]=\"AddShowPaging\" [group]=\"addForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelAdd()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n  </div>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, InputType, PagingComponent, PagingOptions, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService, UtilityService, BBSFTranslateService, EnvironmentService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentHeaderAndFooterTemplateService } from '../../shared/Services/DocumentHeaderAndFooterTemplate.service';\r\n\r\n@Component({\r\n    selector: 'lib-document-master-layouts',\r\n    templateUrl: './document-master-layouts.component.html',\r\n    standalone: false\r\n})\r\nexport class DocumentMasterLayoutsComponent implements OnInit {\r\n  //Page requirements\r\n  showPageContent: boolean = false;\r\n  apiUrl = \"/api/admin/DocumentHeaderAndFooterTemplate/\";\r\n  productionMode: boolean;\r\n  //Filter and paging components\r\n  documentHeaderAndFooterTemplateForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  textInputFilter: FilterItem;\r\n  documentHeaderAndFooterTemplatePagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  documentHeaderAndFooterTemplatePaging: PagingOptions;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('DocumentHeaderAndFooterTemplatePagingViewElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n\r\n  //delete  Model Controls\r\n  deleteDocumentHeaderAndFooterTemplateId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false }) ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = \"\";\r\n\r\n  constructor(private authService: AuthService, private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService, private documentHeaderAndFooterTemplateService: DocumentHeaderAndFooterTemplateService,\r\n    private _clipboardService: ClipboardService, private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService) {\r\n  }\r\n\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.showPageContent = true;\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"MasterLayouts\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.productionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = \"searchTextBox\";\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.documentHeaderAndFooterTemplatePaging = new PagingOptions();\r\n    this.documentHeaderAndFooterTemplatePaging.actionPostURL = this.apiUrl + 'GetDocumentHeaderAndFooterTemplateByFilter';\r\n    this.documentHeaderAndFooterTemplatePaging.onKeyPressFiltersControlNames = [\"searchTextBox\"];\r\n    this.documentHeaderAndFooterTemplatePaging.filters = [this.textInputFilter];\r\n    this.documentHeaderAndFooterTemplatePaging.validationToken = this.authService.authorizationHeaderValue();\r\n    this.isFilterLoaded = true;\r\n  }\r\n\r\n  //Paging functions\r\n  setDocumentHeaderAndFooterTemplateResult(result) {\r\n    this.documentHeaderAndFooterTemplatePagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.showPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (item.name.english.toLowerCase().includes(searchValue.toLowerCase())\r\n            || item.name.arabic.toLowerCase().includes(searchValue.toLowerCase()));\r\n        });\r\n    else\r\n      this.clientSidePagingResult = this.documentHeaderAndFooterTemplatePagingResult;\r\n  }\r\n\r\n  //Delete Document Heade and Footer\r\n  showDeleteDocumentHeaderAndFooterTemplateModal(DocumentHeaderandFooterIdEnc: any) {\r\n    this.deleteDocumentHeaderAndFooterTemplateId = DocumentHeaderandFooterIdEnc;\r\n\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deleteDocumentHeaderAndFooterTemplateId);\r\n\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteDocumentHeaderAndFooterTemplate;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteDocumentHeaderAndFooterTemplate = (id: string): Observable<any> => {\r\n    return this.documentHeaderAndFooterTemplateService.deleteHeaderAndFooterTemplate(id);\r\n  };\r\n\r\n  //Generate Document Heade and Footer Code\r\n  showGenerateCodeModal(GenerateCodeModal) {\r\n    this.documentHeaderAndFooterTemplateService.generateCode().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = \"GenerateCodeTextArea\";\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n\r\n    });\r\n  }\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <form [formGroup]=\"documentHeaderAndFooterTemplateForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"documentHeaderAndFooterTemplateForm\"></BBSF-TextBox>\r\n\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <a id=\"btnSetPass\" *ngIf=\"!productionMode\" class=\"btn btn-sm btn-light-primary me-3\" href=\"javascript:;\"\r\n          (click)=\"showGenerateCodeModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </a>\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-primary btn-sm \" [routerLink]=\"['/Admin/Documents/Add']\"\r\n          routerLinkActive=\"router-link-active\">\r\n          <i class=\" fa fa-plus\"></i>{{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150\">{{utilityService.getResourceValue(\"NameInEnglish\")}}</th>\r\n              <th class=\"min-w-150\">{{utilityService.getResourceValue(\"NameInArabic\")}}</th>\r\n              <th class=\"min-w-50\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let template of clientSidePagingResult\">\r\n\r\n              <td class=\"text-dark\">\r\n                {{template.name.english}}\r\n              </td>\r\n              <td>{{template.name.arabic}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\"\r\n                      [routerLink]=\"['/Admin/Documents/Edit',template.iD_GUID]\" routerLinkActive=\"router-link-active\">\r\n                      <span class=\"drop-link\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteDocumentHeaderAndFooterTemplateModal(template.iD_GUID)\">\r\n                      <span class=\"drop-link\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td colspan=\"3\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!--end::Permission list-->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer\">\r\n      <BBSF-Paging (Items)=\"setDocumentHeaderAndFooterTemplateResult($event)\" *ngIf=\"isFilterLoaded\"\r\n        [options]=\"documentHeaderAndFooterTemplatePaging\" [group]=\"documentHeaderAndFooterTemplateForm\"\r\n        #DocumentHeaderAndFooterTemplatePagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n      <div class=\"Row\">\r\n        <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n        </BBSF-TextArea>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class DocumentTemplateDTO {\r\n  ID_GUID: string;\r\n  CategoryItemID_GUID: string;\r\n  Name: EnglishArabicDTO = new EnglishArabicDTO();\r\n  CategoryItemName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  Description: EnglishArabicDTO = new EnglishArabicDTO();\r\n  OrganizationID_GUID: string;\r\n  OrganizationName: EnglishArabicDTO = new EnglishArabicDTO();\r\n  DocumentHeaderAndFooterTemplateID_GUID: string;\r\n  DocumentHeaderAndFooterTemplateName: string;\r\n  SysName: string;\r\n}\r\n","export class DocumentExportDTO {\r\n  ID_GUID: string\r\n  Items:DocumentExportItemDTO[]=[]\r\n}\r\n\r\nexport class DocumentExportItemDTO {\r\n  Key: string\r\n  Value:string\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService, RequestOptionsModel } from \"@bnsights/bbsf-utilities\";\r\nimport { DocumentTemplateDTO } from \"../models/DocumentsModels/DocumentTemplateDTO\";\r\nimport { DocumentTemplateInfoDTO } from \"../models/DocumentsModels/DocumentTemplateInfoDTO\";\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DocumentTemplateService {\r\n  ApiUrl = \"/api/admin/DocumentTemplates/\";\r\n  constructor(private http: RequestHandlerService) {\r\n  }\r\n\r\n  loaddropdowns() {\r\n    return this.http.get(this.ApiUrl + 'LoadFiltersDropdowns');\r\n  }\r\n  //Add\r\n  loadAddDropdowns() {\r\n    return this.http.get(this.ApiUrl + 'AddTemplate');\r\n  }\r\n  addDocumentTemplate(AddModel: DocumentTemplateDTO) {\r\n    return this.http.post(this.ApiUrl + 'AddTemplate', AddModel);\r\n  }\r\n\r\n  //Edit\r\n  getEditTemplateData(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get(this.ApiUrl + 'EditTemplate', params);\r\n\r\n  }\r\n  editDocumentTemplate(EditModel) {\r\n    return this.http.post(this.ApiUrl + 'EditTemplate', EditModel);\r\n  }\r\n\r\n  //Delete\r\n  deleteTemplate(id: string) {\r\n    return this.http.post(this.ApiUrl + 'DeleteDocumentTemplate', JSON.stringify(id));\r\n  }\r\n\r\n  //Generate code\r\n  generateCodeAll() {\r\n    return this.http.get(this.ApiUrl + 'GenerateCodeAll');\r\n  }\r\n  generateAllUpdateCode() {\r\n    return this.http.get(this.ApiUrl + 'GenerateAllUpdateCode');\r\n  }\r\n\r\n  generateSysNames() {\r\n    return this.http.get(this.ApiUrl + 'GenerateSysNames');\r\n  }\r\n\r\n  generateCodeById(templateId: string) {\r\n    return this.http.post(this.ApiUrl + 'GenerateCodeById', JSON.stringify(templateId));\r\n  }\r\n\r\n  generateUpdateCodeById(templateId: string) {\r\n    return this.http.post(this.ApiUrl + 'GenerateUpdateCodeById', JSON.stringify(templateId));\r\n  }\r\n\r\n  getTemplateInfo(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"templateId\", id.toString());\r\n    return this.http.get(this.ApiUrl + 'GetTemplateInfo', params);\r\n  }\r\n\r\n  editTemplateInfo(EditModel: DocumentTemplateInfoDTO) {\r\n    return this.http.post(this.ApiUrl + 'EditDocumentTemplateInfo', EditModel);\r\n  }\r\n\r\n  exportPDF(model: any) {\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.responseType = \"arraybuffer\";\r\n    options.disableSuccessNotification = true;\r\n    options.castResponsetoClass = false;\r\n    return this.http.post(\r\n      this.ApiUrl + \"ExportPDF\",\r\n      model,\r\n      null,\r\n      null,\r\n      options\r\n    );\r\n  }\r\n\r\n  exportWord(model: any) {\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    // options.responseType = \"arraybuffer\";\r\n    options.disableSuccessNotification = true;\r\n    options.castResponsetoClass = false;\r\n    return this.http.post(\r\n      this.ApiUrl + \"ExportWord\",\r\n      model,\r\n      null,\r\n      null,\r\n      options\r\n    );\r\n  }\r\n\r\n}\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n  AppBaseComponent, ControlLayout, DataType,\r\n  DropdownOptions,\r\n  EnglishArabicDTO,\r\n  FormOptions,\r\n  InputType,\r\n  MultiLingualTextAreaOptions,\r\n  MultiLingualTextBoxOptions, RepeaterField,\r\n  RepeaterOptions,\r\n  TextAreaOptions,\r\n  TextBoxOptions\r\n} from '@bnsights/bbsf-controls';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n  UtilityService,\r\n  BBSFTranslateService, RequestHandlerService,\r\n} from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentTemplateService } from '../../shared/Services/DocumentTemplateService.service';\r\nimport { DocumentTemplateDTO } from '../../shared/models/DocumentsModels/DocumentTemplateDTO';\r\nimport { DatePipe } from '@angular/common';\r\nimport { saveAs } from 'file-saver';\r\nimport {\r\n  DocumentExportDTO,\r\n  DocumentExportItemDTO,\r\n} from '../../shared/models/DocumentsModels/DocumentExportDTO';\r\nimport { WordDocumentService } from '@bnsights/bbsf-utilities-doc';\r\n\r\n@Component({\r\n    selector: 'lib-document-template-info',\r\n    templateUrl: './document-template-info.component.html',\r\n    standalone: false\r\n})\r\nexport class DocumentTemplateInfoComponent\r\n  extends AppBaseComponent\r\n  implements OnInit {\r\n  //Page requirements\r\n  ProductionMode: boolean;\r\n  TemplateId: string;\r\n  TemplateIdEnc: string = '';\r\n  TemplateInfo: any;\r\n  Template: any;\r\n  isDataLoaded: boolean = false;\r\n  saveAs = saveAs;\r\n  exportType: number = 1;\r\n  //Required lists\r\n  CategoryList = [];\r\n  OrganizationList = [];\r\n  MasterLayoutList = [];\r\n\r\n  //GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  IsOpenGenerateCodeModal: boolean;\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = '';\r\n\r\n  //Edit Model Controls\r\n  EditTemplateForm = new FormGroup({});\r\n  EditTemplateFormOptions: FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditSysName: TextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditOrganization: DropdownOptions;\r\n  EditCategory: DropdownOptions;\r\n  EditMasterLayout: DropdownOptions;\r\n\r\n  //Test Export Model Controls\r\n  TestExportDocumentForm = new FormGroup({});\r\n  TestExportDocumentFormOptions = new FormOptions();\r\n  addKeyValueRepeaterOptions: RepeaterOptions;\r\n\r\n  constructor(\r\n    private injector: Injector,\r\n    public utilityService: UtilityService,\r\n    public bbsfTranslateService: BBSFTranslateService,\r\n    public _clipboardService: ClipboardService,\r\n    public templateService: DocumentTemplateService,\r\n    public activatedRoute: ActivatedRoute,\r\n    public pageInfoService: PageInfoService,\r\n    public modalService: NgbModal,\r\n    public datepipe: DatePipe,\r\n    public requestHandlerService: RequestHandlerService,\r\n    public wordDocumentService: WordDocumentService\r\n  ) {\r\n    super(injector);\r\n    this.activatedRoute.params.subscribe((params) => {\r\n      this.TemplateId = params['id'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.utilityService.startBlockUI();\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.utilityService.stopBlockUI();\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize page info\r\n  initializePage() {\r\n    this.isDataLoaded = false;\r\n    this.templateService\r\n      .getTemplateInfo(this.TemplateId)\r\n      .subscribe((result) => {\r\n        let Result: any = result;\r\n        this.TemplateInfo = Result.val;\r\n        PageInfoService.PageTitle = this.TemplateInfo.localizedTemplateName;\r\n        PageInfoService.PageBreadcrumbs = [\r\n          {\r\n            title: this.utilityService.getResourceValue('Home'),\r\n            path: '/Admin/Home',\r\n            isSeparator: false,\r\n            isActive: false,\r\n          },\r\n          { title: '', path: '', isSeparator: true, isActive: false },\r\n          {\r\n            title: this.utilityService.getResourceValue('Templates'),\r\n            path: '/Admin/Documents/Templates',\r\n            isSeparator: false,\r\n            isActive: false,\r\n          },\r\n          { title: '', path: '', isSeparator: true, isActive: false },\r\n        ];\r\n        this.isDataLoaded = true;\r\n        this.utilityService.stopBlockUI();\r\n        this.pageInfoService.calculateTitle();\r\n        this.pageInfoService.calculateBreadcrumbs();\r\n      });\r\n  }\r\n\r\n  //Generate Code\r\n  showGenerateCodeByIdModal(GenerateCodeModal) {\r\n    this.templateService\r\n      .generateCodeById(this.TemplateId)\r\n      .subscribe((result) => {\r\n        var Value = result as any;\r\n        this.GenerateCodeTextArea = new TextAreaOptions();\r\n        this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n        this.GenerateCodeTextArea.value = Value.val.toString();\r\n        this.ValueToCopy = Value.val.toString();\r\n        this.GenerateCodeTextArea.isDisabled = true;\r\n        this.GenerateCodeTextArea.hideLabel = true;\r\n        this.GenerateCodeTextArea.rows = 20;\r\n        this.GenerateCodeTextArea.cols = 20;\r\n        this.GenerateCodeTextArea.maxLength = 1000000;\r\n        this.modalService.open(GenerateCodeModal);\r\n      });\r\n  }\r\n\r\n  showGenerateUpdateCodeByIdModal(GenerateCodeModal) {\r\n    this.GenerateCodeForm = new FormGroup({});\r\n    this.templateService\r\n      .generateUpdateCodeById(this.TemplateId)\r\n      .subscribe((result) => {\r\n        var Value = result as any;\r\n        this.GenerateCodeTextArea = new TextAreaOptions();\r\n        this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n        this.GenerateCodeTextArea.value = Value.val.toString();\r\n        this.ValueToCopy = Value.val.toString();\r\n        this.GenerateCodeTextArea.isDisabled = true;\r\n        this.GenerateCodeTextArea.hideLabel = true;\r\n        this.GenerateCodeTextArea.rows = 20;\r\n        this.GenerateCodeTextArea.cols = 20;\r\n        this.GenerateCodeTextArea.maxLength = 1000000;\r\n        this.modalService.open(GenerateCodeModal);\r\n      });\r\n  }\r\n\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n  //Edit Template\r\n  //Edit Template\r\n  showEditTemplateModal(EditTemplateModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.templateService\r\n      .getEditTemplateData(this.TemplateId)\r\n      .subscribe((result) => {\r\n        let resultObj = result as any;\r\n        let template = resultObj.model;\r\n        let lists = resultObj.lists;\r\n        this.OrganizationList = lists.organization;\r\n        this.MasterLayoutList = lists.documentHeaderAndFooterTemplate;\r\n        this.CategoryList = lists.lookUpItemsCategory;\r\n\r\n        this.EditTemplateForm = new FormGroup({});\r\n        this.EditTemplateFormOptions = new FormOptions();\r\n        this.EditTemplateFormOptions.formGroup = this.EditTemplateForm;\r\n        this.EditTemplateFormOptions.getModelFunction =\r\n          this.getEditTemplateModel;\r\n        this.EditTemplateFormOptions.serviceSubmitFunction =\r\n          this.getEditTemplateFunction;\r\n        let Name = new EnglishArabicDTO();\r\n        Name.arabic = template.name.arabic;\r\n        Name.english = template.name.english;\r\n\r\n        this.EditName = new MultiLingualTextBoxOptions();\r\n        this.EditName.name = 'Name';\r\n        this.EditName.arabicLabelKey = 'NameInArabic';\r\n        this.EditName.englishLabelKey = 'NameInEnglish';\r\n        this.EditName.isRequired = true;\r\n        this.EditName.value = Name;\r\n        this.EditName.maxLength = 100;\r\n\r\n        this.EditSysName = new TextBoxOptions();\r\n        this.EditSysName.name = 'SysName';\r\n        this.EditSysName.labelKey = 'SysName';\r\n        this.EditSysName.type = InputType.Text;\r\n        this.EditSysName.value = template.sysName;\r\n        this.EditSysName.maxLength = 100;\r\n\r\n        let description = new EnglishArabicDTO();\r\n        description.arabic = template.description.arabic;\r\n        description.english = template.description.english;\r\n\r\n        this.EditDescription = new MultiLingualTextAreaOptions();\r\n        this.EditDescription.name = 'Description';\r\n        this.EditDescription.arabicLabelKey = 'DescriptionInArabic';\r\n        this.EditDescription.englishLabelKey = 'DescriptionInEnglish';\r\n        this.EditDescription.value = description;\r\n        this.EditDescription.maxLength = 250;\r\n\r\n        this.EditOrganization = new DropdownOptions();\r\n        this.EditOrganization.name = 'OrganizationID_GUID';\r\n        this.EditOrganization.labelKey = 'Organization';\r\n        this.EditOrganization.dataSource = this.OrganizationList;\r\n        this.EditOrganization.singleSelection = true;\r\n        this.EditOrganization.allowSearchFilter = true;\r\n        this.EditOrganization.placeholder = '';\r\n        this.EditOrganization.isRequired = true;\r\n        this.EditOrganization.selectedItems =\r\n          template.organizationID_GUID?.toLowerCase();\r\n\r\n        this.EditMasterLayout = new DropdownOptions();\r\n        this.EditMasterLayout.name = 'DocumentHeaderAndFooterTemplateID_GUID';\r\n        this.EditMasterLayout.labelKey = 'MasterLayout';\r\n        this.EditMasterLayout.dataSource = this.MasterLayoutList;\r\n        this.EditMasterLayout.singleSelection = true;\r\n        this.EditMasterLayout.allowSearchFilter = true;\r\n        this.EditMasterLayout.placeholder = '';\r\n        this.EditMasterLayout.isRequired = true;\r\n        this.EditMasterLayout.selectedItems =\r\n          template.documentHeaderAndFooterTemplateID_GUID?.toLowerCase();\r\n\r\n        this.EditCategory = new DropdownOptions();\r\n        this.EditCategory.name = 'CategoryItemID_GUID';\r\n        this.EditCategory.labelKey = 'Category';\r\n        this.EditCategory.dataSource = this.CategoryList;\r\n        this.EditCategory.singleSelection = true;\r\n        this.EditCategory.allowSearchFilter = true;\r\n        this.EditCategory.placeholder = '';\r\n        this.EditCategory.isRequired = true;\r\n        this.EditCategory.selectedItems =\r\n          template.categoryItemID_GUID?.toLowerCase();\r\n\r\n        this.modalService.open(EditTemplateModal);\r\n        this.utilityService.stopBlockUI();\r\n      });\r\n  }\r\n  getEditTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditTemplateForm.value as any;\r\n    let EditModel = new DocumentTemplateDTO();\r\n    EditModel.ID_GUID = this.TemplateId;\r\n    EditModel.Name.arabic = ResultModel.Name.Arabic;\r\n    EditModel.Name.english = ResultModel.Name.English;\r\n    EditModel.SysName = ResultModel.SysName;\r\n    EditModel.DocumentHeaderAndFooterTemplateID_GUID =\r\n      ResultModel.DocumentHeaderAndFooterTemplateID_GUID;\r\n    EditModel.Description.english = ResultModel.Description.English;\r\n    EditModel.Description.arabic = ResultModel.Description.Arabic;\r\n    EditModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;\r\n    EditModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditTemplateFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editDocumentTemplate(EditModel);\r\n  };\r\n\r\n  //Test Send Email\r\n  showTestExportDocumentModal(TestExportDocumentModal, type = 1) {\r\n    this.exportType = type;\r\n    this.TestExportDocumentForm = new FormGroup({});\r\n    this.TestExportDocumentFormOptions = new FormOptions();\r\n    this.TestExportDocumentFormOptions.formGroup = this.TestExportDocumentForm;\r\n    this.TestExportDocumentFormOptions.getModelFunction =\r\n      this.getTestExportDocumentModel;\r\n    this.TestExportDocumentFormOptions.serviceSubmitFunction =\r\n      this.getTestExportDocumentFunction;\r\n    this.TestExportDocumentFormOptions.onSuccessHandler =\r\n      this.onSuccessExportHandler;\r\n    this.TestExportDocumentFormOptions.disableSuccessNotification = true;\r\n\r\n    let Key = new TextBoxOptions();\r\n    Key.name = 'Key';\r\n    Key.hideLabel = true;\r\n    Key.viewType = ControlLayout.Vertical;\r\n    Key.type = InputType.Text;\r\n\r\n    let Value = new TextBoxOptions();\r\n    Value.name = 'Value';\r\n    Value.hideLabel = true;\r\n    Value.viewType = ControlLayout.Vertical;\r\n    Value.type = InputType.Text;\r\n\r\n    let KeyRepeater = new RepeaterField();\r\n    KeyRepeater.controlType = DataType.Text;\r\n    KeyRepeater.controlOptions = Key;\r\n    KeyRepeater.headerTitle = this.utilityService.getResourceValue('Key');\r\n\r\n    let ValueRepeater = new RepeaterField();\r\n    ValueRepeater.controlType = DataType.Text;\r\n    ValueRepeater.controlOptions = Value;\r\n    ValueRepeater.headerTitle = this.utilityService.getResourceValue('Value');\r\n\r\n    this.addKeyValueRepeaterOptions = new RepeaterOptions();\r\n    this.addKeyValueRepeaterOptions.isRequired = false;\r\n    this.addKeyValueRepeaterOptions.name = 'values';\r\n    this.addKeyValueRepeaterOptions.deleteButtonExtraClasses =\r\n      'btn btn-danger btn-sm btn-icon';\r\n    this.addKeyValueRepeaterOptions.deleteButtonText = `<i class=\"fa fa-trash\"></i>`;\r\n    this.addKeyValueRepeaterOptions.repeaterTableExtraClasses =\r\n      'table align-middle table-row-dashed fs-6 gy-9 dataTable no-footer validation-table-text';\r\n    this.addKeyValueRepeaterOptions.repeaterTableRowExtraClasses =\r\n      'text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0';\r\n    this.addKeyValueRepeaterOptions.actionLabelKey = 'Action';\r\n    this.addKeyValueRepeaterOptions.addButtonExtraClasses =\r\n      'btn btn-primary btn-block';\r\n    this.addKeyValueRepeaterOptions.addButtonText = `<i class=\"fa fa-plus\"></i>${this.utilityService.getResourceValue(\r\n      'Add'\r\n    )}`;\r\n    this.addKeyValueRepeaterOptions.minRequiredItems = 1;\r\n    this.addKeyValueRepeaterOptions.repeaterValue = [];\r\n    this.addKeyValueRepeaterOptions.repeaterStructure = [\r\n      KeyRepeater,\r\n      ValueRepeater,\r\n    ];\r\n\r\n    this.modalService.open(TestExportDocumentModal);\r\n  }\r\n  getTestExportDocumentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.TestExportDocumentForm.value;\r\n    let ExportDocumentTemplateModel = new DocumentExportDTO();\r\n    ExportDocumentTemplateModel.ID_GUID = this.TemplateId;\r\n    let result: DocumentExportItemDTO[] = [];\r\n    for (\r\n      let index = 0;\r\n      index < this.addKeyValueRepeaterOptions.repeaterValue.length;\r\n      index++\r\n    ) {\r\n      const element = this.addKeyValueRepeaterOptions.repeaterValue[index];\r\n      if (element.Key && element.Value) {\r\n        let item: DocumentExportItemDTO = new DocumentExportItemDTO();\r\n        item.Key = element.Key;\r\n        item.Value = element.Value;\r\n        result.push(item);\r\n      }\r\n    }\r\n    ExportDocumentTemplateModel.Items = result;\r\n    paramArray.push(ExportDocumentTemplateModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getTestExportDocumentFunction = (\r\n    ExportDocumentTemplateModel\r\n  ): Observable<any> => {\r\n    if (this.exportType == 2)\r\n      return this.templateService.exportWord(ExportDocumentTemplateModel);\r\n    return this.templateService.exportPDF(ExportDocumentTemplateModel);\r\n  };\r\n\r\n  onSuccessExportHandler = async (result: any) => {\r\n    let now = new Date().toISOString();\r\n    let latest_date = this.datepipe.transform(now, 'dd-MM-yyyy HH.mm');\r\n    if (this.exportType == 2) {\r\n      let fileName = this.TemplateInfo.localizedTemplateName + '_' + latest_date + '.doc';\r\n      var fileBufferLib = await this.wordDocumentService.generateWordByteFile(result);\r\n      this.downloadWord(fileBufferLib as any, \"Lib\" + fileName);\r\n      return;\r\n    }\r\n\r\n    let fileName = this.TemplateInfo.localizedTemplateName + '_' + latest_date + '.pdf';\r\n    this.downloadPDF(result as any, fileName);\r\n  };\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<div class=\"container-fluid\" *ngIf=\"isDataLoaded\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\">\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n          btn-light-primary\" (click)=\"showEditTemplateModal(EditTemplateModal)\">\r\n          <i class=\"fa fa fa-edit\" aria-hidden=\"true\"></i>\r\n          <span>{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n        </button>\r\n        <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n          btn-light-primary\" (click)=\"showTestExportDocumentModal(ExportDocumentModal)\">\r\n          <i class=\"fa fa-file-pdf\" aria-hidden=\"true\"></i>\r\n          <span>{{utilityService.getResourceValue(\"Export\")}} PDF</span>\r\n        </button>\r\n        <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n          btn-light-primary\" (click)=\"showTestExportDocumentModal(ExportDocumentModal,2)\">\r\n          <i class=\"fa fa-file-word\" aria-hidden=\"true\"></i>\r\n          <span>{{utilityService.getResourceValue(\"Export\")}} Word</span>\r\n        </button>\r\n        <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n          btn-primary\" *ngIf=\"!ProductionMode\" (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n        <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n          btn-primary\" *ngIf=\"!ProductionMode\" (click)=\"showGenerateUpdateCodeByIdModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"row\">\r\n        <div class=\"col-xl-6 mb-10\">\r\n          <div class=\"d-flex h-100 align-items-center \">\r\n            <!--begin::Option-->\r\n            <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n              py-10 px-10 h-100\">\r\n              <!--begin::Heading-->\r\n              <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n                <!--begin::Title-->\r\n                <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\" routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n                  fw-boldest fs-2\">\r\n                  English:\r\n                  {{TemplateInfo.templateNameEN}}\r\n                </a>\r\n\r\n                <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\" routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n                  btn-light-primary btn-icon\">\r\n                  <i class=\"fa fa-pen\"></i>\r\n                </a>\r\n\r\n              </div>\r\n              <div class=\"w-100 mb-10\">\r\n                <!--begin::Item-->\r\n                <div class=\"d-flex align-items-center mb-5\">\r\n                  <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n                    <div innerHTML=\"{{TemplateInfo.headerEN}}\">\r\n                    </div>\r\n                    <div innerHTML=\"{{TemplateInfo.bodyEN}}\">\r\n                    </div>\r\n                    <div innerHTML=\"{{TemplateInfo.footerEN}}\">\r\n                    </div>\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <!--end::Select-->\r\n            </div>\r\n            <!--end::Option-->\r\n          </div>\r\n        </div>\r\n        <div class=\"col-xl-6 mb-10\">\r\n          <div class=\"d-flex h-100 align-items-center\">\r\n            <!--begin::Option-->\r\n            <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n              py-10 px-10 h-100\">\r\n              <!--begin::Heading-->\r\n              <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n                <!--begin::Title-->\r\n                <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\" routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n                  fw-boldest fs-2\">\r\n                  Arabic:\r\n                  {{TemplateInfo.templateNameAR}}\r\n                </a>\r\n                <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\" routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n                  btn-light-primary btn-icon\">\r\n                  <i class=\"fa fa-pen\"></i>\r\n                </a>\r\n              </div>\r\n              <div class=\"w-100 mb-10\">\r\n                <!--begin::Item-->\r\n                <div class=\"d-flex align-items-center mb-5\">\r\n                  <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3 ar\">\r\n                    <div innerHTML=\"{{TemplateInfo.headerAR}}\">\r\n                    </div>\r\n                    <div innerHTML=\"{{TemplateInfo.bodyAR}}\">\r\n                    </div>\r\n                    <div innerHTML=\"{{TemplateInfo.footerAR}}\">\r\n                    </div>\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <!--end::Select-->\r\n            </div>\r\n            <!--end::Option-->\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n      btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}}\r\n        {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Export Document Modal -->\r\n<ng-template #ExportDocumentModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Export\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"TestExportDocumentFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-repeater-table [options]=\"addKeyValueRepeaterOptions\" [group]=\"TestExportDocumentForm\">\r\n          </BBSF-repeater-table>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseSendEmailForm id=\"CloseSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Export\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n      btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n      <div class=\"Row\">\r\n        <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n        </BBSF-TextArea>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n  CheckBoxOptions,\r\n  ConfirmationModalComponent,\r\n  ConfirmationModalOptions,\r\n  DropdownOptions,\r\n  EnglishArabicDTO,\r\n  FilterItem,\r\n  FilterType,\r\n  FormOptions,\r\n  InputType,\r\n  MultiLingualTextAreaOptions,\r\n  MultiLingualTextBoxOptions,\r\n  PagingActionMode,\r\n  PagingComponent,\r\n  PagingOptions,\r\n  TextAreaOptions,\r\n  TextBoxOptions,\r\n} from '@bnsights/bbsf-controls';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { TemplateDTO } from '../../shared/models/NotificationsModels/TemplateDTO';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n  AuthService,\r\n  UtilityService,\r\n  BBSFTranslateService,\r\n  EnvironmentService,\r\n  RequestHandlerService,\r\n} from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentTemplateService } from '../../shared/Services/DocumentTemplateService.service';\r\nimport { DocumentTemplateDTO } from '../../shared/models/DocumentsModels/DocumentTemplateDTO';\r\n\r\n@Component({\r\n    selector: 'lib-document-templates',\r\n    templateUrl: './document-templates.component.html',\r\n    standalone: false\r\n})\r\nexport class DocumentsTemplatesComponent implements OnInit {\r\n  //Page requirements\r\n  ShowPageContent: boolean = false;\r\n  ApiUrl = '/api/admin/DocumentTemplates/';\r\n  ProductionMode: boolean;\r\n\r\n  //Filter and paging components\r\n  CategoryOptions: DropdownOptions;\r\n  CategoryFilter: FilterItem;\r\n  searchTextBox: TextBoxOptions;\r\n  TextInputFilter: FilterItem;\r\n  TemplateForm = new FormGroup({});\r\n  TemplatePagingResult: any[] = [];\r\n  clientSidePagingResult: any[] = [];\r\n  TemplatePaging: PagingOptions;\r\n  IsFilterLoaded: boolean = false;\r\n  IsFilterDataLoaded: boolean = false;\r\n  @ViewChild('TemplatePagingViewElement', { static: false })\r\n  pagingElement: PagingComponent<any>;\r\n\r\n  //Required lists\r\n  CategoryList = [];\r\n  SelectedTemplateList = [];\r\n  OrganizationList = [];\r\n  MasterLayoutList = [];\r\n  @ViewChild('categoriesDDL', { static: false }) categoriesDDL: ElementRef;\r\n\r\n  //Add Model Controls\r\n  AddTemplateForm = new FormGroup({});\r\n  AddTemplateFormOptions: FormOptions;\r\n  AddName: MultiLingualTextBoxOptions;\r\n  AddSysName: TextBoxOptions;\r\n  AddDescription: MultiLingualTextAreaOptions;\r\n  AddOrganization: DropdownOptions;\r\n  AddCategory: DropdownOptions;\r\n  AddMasterLayout: DropdownOptions;\r\n\r\n\r\n  //Edit Model Controls\r\n  EditTemplateForm = new FormGroup({});\r\n  EditTemplateFormOptions: FormOptions;\r\n  EditName: MultiLingualTextBoxOptions;\r\n  EditSysName: TextBoxOptions;\r\n  EditDescription: MultiLingualTextAreaOptions;\r\n  EditOrganization: DropdownOptions;\r\n  EditCategory: DropdownOptions;\r\n  EditMasterLayout: DropdownOptions;\r\n\r\n\r\n  //delete  Model Controls\r\n  deletedTemplateId: string;\r\n  DeleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('ConfirmationModalControl', { static: false })\r\n  ConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  //GenerateCode  Model Controls\r\n  GenerateCodeForm = new FormGroup({});\r\n  GenerateCodeTextArea: TextAreaOptions;\r\n  ValueToCopy: string = '';\r\n  TemplateId: string = '';\r\n\r\n  constructor(\r\n    private authService: AuthService,\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService,\r\n    private environmentService: EnvironmentService,\r\n    private _clipboardService: ClipboardService,\r\n    private templateService: DocumentTemplateService,\r\n    private modalService: NgbModal,\r\n    private requestHandlerService: RequestHandlerService\r\n  ) { }\r\n  async ngOnInit() {\r\n    this.ShowPageContent = true;\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle =\r\n      this.utilityService.getResourceValue('Templates');\r\n    PageInfoService.PageBreadcrumbs = [\r\n      {\r\n        title: this.utilityService.getResourceValue('Home'),\r\n        path: '/Admin/Home',\r\n        isSeparator: false,\r\n        isActive: false,\r\n      },\r\n      { title: '', path: '', isSeparator: true, isActive: false },\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    //on lang changed\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.initializePage();\r\n  }\r\n\r\n  //Initialize filters and paging\r\n  initializePage() {\r\n    // TextBox init\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = 'searchTextBox';\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder =\r\n      this.utilityService.getResourceValue('SearchByName');\r\n    this.searchTextBox.hideLabel = true;\r\n\r\n    // TextBox init\r\n    this.CategoryOptions = new DropdownOptions();\r\n    this.CategoryOptions.name = 'Category';\r\n    this.CategoryOptions.labelKey = 'Category';\r\n    this.CategoryOptions.singleSelection = false;\r\n    this.CategoryOptions.allowSearchFilter = true;\r\n    this.CategoryOptions.placeholder = '';\r\n\r\n    this.CategoryFilter = new FilterItem();\r\n    this.CategoryFilter.formControlName = 'Category';\r\n    this.CategoryFilter.actionParameterName = 'GroupsId';\r\n    this.CategoryFilter.isFormControl = true;\r\n    this.CategoryFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.TextInputFilter = new FilterItem();\r\n    this.TextInputFilter.formControlName = 'searchTextBox';\r\n    this.TextInputFilter.actionParameterName = 'searchText';\r\n    this.TextInputFilter.isFormControl = true;\r\n    this.TextInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.TemplatePaging = new PagingOptions();\r\n    this.TemplatePaging.actionPostURL = this.ApiUrl + 'GetTemplatesByFilter';\r\n    this.TemplatePaging.onKeyPressFiltersControlNames = ['searchTextBox'];\r\n    this.TemplatePaging.dropdownFiltersControlNames = ['Category'];\r\n    this.TemplatePaging.filters = [this.CategoryFilter, this.TextInputFilter];\r\n    this.TemplatePaging.validationToken =\r\n      this.authService.authorizationHeaderValue();\r\n    this.TemplatePaging.resetFilterButtonName = 'templatesFiltersBtn';\r\n\r\n    this.IsFilterLoaded = true;\r\n  }\r\n\r\n  //Load filters lists\r\n  loadLists() {\r\n    if (!this.IsFilterDataLoaded) {\r\n      this.templateService.loaddropdowns().subscribe((result) => {\r\n        let DropdownLists = result as any;\r\n        this.CategoryList = DropdownLists.lookUpItemsCategory;\r\n        let categoriesElement = this.categoriesDDL as any;\r\n        categoriesElement.UpdateDataSource(this.CategoryList);\r\n        this.IsFilterDataLoaded = true;\r\n      });\r\n    }\r\n  }\r\n\r\n  //Paging functions\r\n  setTemplateListResult(result) {\r\n    this.TemplatePagingResult = result;\r\n    this.clientSidePagingResult = result;\r\n    this.ShowPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  searchClientSide(searchValue) {\r\n    if (searchValue)\r\n      this.clientSidePagingResult = this.clientSidePagingResult.filter(\r\n        function (item) {\r\n          return (\r\n            item.name.english\r\n              .toLowerCase()\r\n              .includes(searchValue.toLowerCase()) ||\r\n            item.name.arabic.toLowerCase().includes(searchValue.toLowerCase())\r\n          );\r\n        }\r\n      );\r\n    else this.clientSidePagingResult = this.TemplatePagingResult;\r\n  }\r\n\r\n  //Add Template\r\n  showAddTemplateModal(AddTemplateModal) {\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.loadAddDropdowns().subscribe((result) => {\r\n      let resultObj = result as any;\r\n      this.OrganizationList = resultObj.organization;\r\n      this.MasterLayoutList = resultObj.documentHeaderAndFooterTemplate;\r\n      this.CategoryList = resultObj.lookUpItemsCategory;\r\n\r\n      this.AddTemplateForm = new FormGroup({});\r\n\r\n      this.AddTemplateFormOptions = new FormOptions();\r\n      this.AddTemplateFormOptions.formGroup = this.AddTemplateForm;\r\n      this.AddTemplateFormOptions.getModelFunction = this.getAddTemplateModel;\r\n      this.AddTemplateFormOptions.serviceSubmitFunction =\r\n        this.getAddTemplateFunction;\r\n      this.AddTemplateFormOptions.pagingReference = this.pagingElement;\r\n\r\n      this.AddName = new MultiLingualTextBoxOptions();\r\n      this.AddName.name = 'Name';\r\n      this.AddName.arabicLabelKey = 'NameInArabic';\r\n      this.AddName.englishLabelKey = 'NameInEnglish';\r\n      this.AddName.isRequired = true;\r\n      this.AddName.maxLength = 100;\r\n\r\n      this.AddSysName = new TextBoxOptions();\r\n      this.AddSysName.name = 'SysName';\r\n      this.AddSysName.labelKey = 'SysName';\r\n      this.AddSysName.type = InputType.Text;\r\n      this.AddSysName.value = null;\r\n      this.AddSysName.maxLength = 100;\r\n\r\n      this.AddDescription = new MultiLingualTextAreaOptions();\r\n      this.AddDescription.name = 'Description';\r\n      this.AddDescription.arabicLabelKey = 'DescriptionInArabic';\r\n      this.AddDescription.englishLabelKey = 'DescriptionInEnglish';\r\n      this.AddDescription.maxLength = 250;\r\n\r\n      this.AddOrganization = new DropdownOptions();\r\n      this.AddOrganization.name = 'OrganizationID_GUID';\r\n      this.AddOrganization.labelKey = 'Organization';\r\n      this.AddOrganization.dataSource = this.OrganizationList;\r\n      this.AddOrganization.singleSelection = true;\r\n      this.AddOrganization.allowSearchFilter = true;\r\n      this.AddOrganization.placeholder = '';\r\n      this.AddOrganization.isRequired = true;\r\n\r\n      this.AddMasterLayout = new DropdownOptions();\r\n      this.AddMasterLayout.name = 'DocumentHeaderAndFooterTemplateID_GUID';\r\n      this.AddMasterLayout.labelKey = 'MasterLayout';\r\n      this.AddMasterLayout.dataSource = this.MasterLayoutList;\r\n      this.AddMasterLayout.singleSelection = true;\r\n      this.AddMasterLayout.allowSearchFilter = true;\r\n      this.AddMasterLayout.placeholder = '';\r\n      this.AddMasterLayout.isRequired = true;\r\n\r\n      this.AddCategory = new DropdownOptions();\r\n      this.AddCategory.name = 'CategoryItemID_GUID';\r\n      this.AddCategory.labelKey = 'Category';\r\n      this.AddCategory.dataSource = this.CategoryList;\r\n      this.AddCategory.singleSelection = true;\r\n      this.AddCategory.allowSearchFilter = true;\r\n      this.AddCategory.placeholder = '';\r\n      this.AddCategory.isRequired = true;\r\n\r\n\r\n      this.modalService.open(AddTemplateModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n  getAddTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.AddTemplateForm.value as any;\r\n    let AddModel = new DocumentTemplateDTO();\r\n    AddModel.Name.arabic = ResultModel.Name.Arabic;\r\n    AddModel.Name.english = ResultModel.Name.English;\r\n    AddModel.SysName = ResultModel.SysName;\r\n    AddModel.DocumentHeaderAndFooterTemplateID_GUID = ResultModel.DocumentHeaderAndFooterTemplateID_GUID;\r\n    AddModel.Description.english = ResultModel.Description.English;\r\n    AddModel.Description.arabic = ResultModel.Description.Arabic;\r\n    AddModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;\r\n    AddModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n    AddModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n\r\n    paramArray.push(AddModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddTemplateFunction = (AddModel): Observable<any> => {\r\n    return this.templateService.addDocumentTemplate(AddModel);\r\n  };\r\n\r\n  //Edit Template\r\n  showEditTemplateModal(templateID: string, EditTemplateModal) {\r\n    this.TemplateId = templateID;\r\n    this.utilityService.startBlockUI();\r\n    this.templateService.getEditTemplateData(templateID).subscribe((result) => {\r\n      let resultObj = result as any;\r\n      let template = resultObj.model;\r\n      let lists = resultObj.lists;\r\n      this.OrganizationList = lists.organization;\r\n      this.MasterLayoutList = lists.documentHeaderAndFooterTemplate;\r\n      this.CategoryList = lists.lookUpItemsCategory;\r\n\r\n      this.EditTemplateForm = new FormGroup({});\r\n      this.EditTemplateFormOptions = new FormOptions();\r\n      this.EditTemplateFormOptions.formGroup = this.EditTemplateForm;\r\n      this.EditTemplateFormOptions.getModelFunction = this.getEditTemplateModel;\r\n      this.EditTemplateFormOptions.serviceSubmitFunction =\r\n        this.getEditTemplateFunction;\r\n      this.EditTemplateFormOptions.pagingReference = this.pagingElement;\r\n      this.EditTemplateFormOptions.pagingActionMode = PagingActionMode.Update;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = template.name.arabic;\r\n      Name.english = template.name.english;\r\n\r\n      this.EditName = new MultiLingualTextBoxOptions();\r\n      this.EditName.name = 'Name';\r\n      this.EditName.arabicLabelKey = 'NameInArabic';\r\n      this.EditName.englishLabelKey = 'NameInEnglish';\r\n      this.EditName.isRequired = true;\r\n      this.EditName.value = Name;\r\n      this.EditName.maxLength = 100;\r\n\r\n      this.EditSysName = new TextBoxOptions();\r\n      this.EditSysName.name = 'SysName';\r\n      this.EditSysName.labelKey = 'SysName';\r\n      this.EditSysName.type = InputType.Text;\r\n      this.EditSysName.value = template.sysName;\r\n      this.EditSysName.maxLength = 100;\r\n\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = template.description.arabic;\r\n      description.english = template.description.english;\r\n\r\n      this.EditDescription = new MultiLingualTextAreaOptions();\r\n      this.EditDescription.name = 'Description';\r\n      this.EditDescription.arabicLabelKey = 'DescriptionInArabic';\r\n      this.EditDescription.englishLabelKey = 'DescriptionInEnglish';\r\n      this.EditDescription.value = description;\r\n      this.EditDescription.maxLength = 250;\r\n\r\n      this.EditOrganization = new DropdownOptions();\r\n      this.EditOrganization.name = 'OrganizationID_GUID';\r\n      this.EditOrganization.labelKey = 'Organization';\r\n      this.EditOrganization.dataSource = this.OrganizationList;\r\n      this.EditOrganization.singleSelection = true;\r\n      this.EditOrganization.allowSearchFilter = true;\r\n      this.EditOrganization.placeholder = '';\r\n      this.EditOrganization.isRequired = true;\r\n      this.EditOrganization.selectedItems =\r\n        template.organizationID_GUID?.toLowerCase();\r\n\r\n      this.EditMasterLayout = new DropdownOptions();\r\n      this.EditMasterLayout.name = 'DocumentHeaderAndFooterTemplateID_GUID';\r\n      this.EditMasterLayout.labelKey = 'MasterLayout';\r\n      this.EditMasterLayout.dataSource = this.MasterLayoutList;\r\n      this.EditMasterLayout.singleSelection = true;\r\n      this.EditMasterLayout.allowSearchFilter = true;\r\n      this.EditMasterLayout.placeholder = '';\r\n      this.EditMasterLayout.isRequired = true;\r\n      this.EditMasterLayout.selectedItems =\r\n        template.documentHeaderAndFooterTemplateID_GUID?.toLowerCase();\r\n\r\n      this.EditCategory = new DropdownOptions();\r\n      this.EditCategory.name = 'CategoryItemID_GUID';\r\n      this.EditCategory.labelKey = 'Category';\r\n      this.EditCategory.dataSource = this.CategoryList;\r\n      this.EditCategory.singleSelection = true;\r\n      this.EditCategory.allowSearchFilter = true;\r\n      this.EditCategory.placeholder = '';\r\n      this.EditCategory.isRequired = true;\r\n      this.EditCategory.selectedItems = template.categoryItemID_GUID?.toLowerCase();\r\n\r\n\r\n      this.modalService.open(EditTemplateModal);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n  }\r\n  getEditTemplateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditTemplateForm.value as any;\r\n    let EditModel = new DocumentTemplateDTO();\r\n    EditModel.ID_GUID = this.TemplateId;\r\n    EditModel.Name.arabic = ResultModel.Name.Arabic;\r\n    EditModel.Name.english = ResultModel.Name.English;\r\n    EditModel.SysName = ResultModel.SysName;\r\n    EditModel.DocumentHeaderAndFooterTemplateID_GUID = ResultModel.DocumentHeaderAndFooterTemplateID_GUID;\r\n    EditModel.Description.english = ResultModel.Description.English;\r\n    EditModel.Description.arabic = ResultModel.Description.Arabic;\r\n    EditModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;\r\n    EditModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;\r\n\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditTemplateFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editDocumentTemplate(EditModel);\r\n  };\r\n\r\n  //Delete Template\r\n  showDeleteEmailTemplateModal(templateID: string) {\r\n    this.deletedTemplateId = templateID;\r\n    //array sent to service function\r\n    let paramArray: any[] = [];\r\n    paramArray.push(this.deletedTemplateId);\r\n    this.DeleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.DeleteConfirmationOptions.serviceSubmitFunction = this.deleteEmailTemplate;\r\n    this.DeleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.DeleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteControlLoaded = true;\r\n    setTimeout(() => {\r\n      this.ConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  deleteEmailTemplate = (id: string): Observable<any> => {\r\n    return this.templateService.deleteTemplate(id);\r\n  };\r\n\r\n  //Generate code\r\n  showGenerateCodeAllModal(GenerateCodeModal) {\r\n    this.templateService.generateCodeAll().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  showGenerateAllUpdateCodeModal(GenerateCodeModal) {\r\n    this.templateService.generateAllUpdateCode().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  showGeneratSysNameModal(GenerateCodeModal) {\r\n    this.templateService.generateSysNames().subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n\r\n  showGenerateCodeByIdModal(templateID: string, GenerateCodeModal) {\r\n    this.templateService.generateCodeById(templateID).subscribe((result) => {\r\n      var Value = result as any;\r\n      this.GenerateCodeTextArea = new TextAreaOptions();\r\n      this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n      this.GenerateCodeTextArea.value = Value.val.toString();\r\n      this.ValueToCopy = Value.val.toString();\r\n      this.GenerateCodeTextArea.isDisabled = true;\r\n      this.GenerateCodeTextArea.hideLabel = true;\r\n      this.GenerateCodeTextArea.rows = 20;\r\n      this.GenerateCodeTextArea.cols = 20;\r\n      this.GenerateCodeTextArea.maxLength = 1000000;\r\n      this.modalService.open(GenerateCodeModal);\r\n    });\r\n  }\r\n  showGenerateUpdateCodeByIdModal(templateID: string, GenerateCodeModal) {\r\n    this.templateService\r\n      .generateUpdateCodeById(templateID)\r\n      .subscribe((result) => {\r\n        var Value = result as any;\r\n        this.GenerateCodeTextArea = new TextAreaOptions();\r\n        this.GenerateCodeTextArea.name = 'GenerateCodeTextArea';\r\n        this.GenerateCodeTextArea.value = Value.val.toString();\r\n        this.ValueToCopy = Value.val.toString();\r\n        this.GenerateCodeTextArea.isDisabled = true;\r\n        this.GenerateCodeTextArea.hideLabel = true;\r\n        this.GenerateCodeTextArea.rows = 20;\r\n        this.GenerateCodeTextArea.cols = 20;\r\n        this.GenerateCodeTextArea.maxLength = 1000000;\r\n        this.modalService.open(GenerateCodeModal);\r\n      });\r\n  }\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.ValueToCopy.toString());\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n        <form [formGroup]=\"TemplateForm\">\r\n          <!--(OnChange)=\"searchClientSide($event)\" -->\r\n          <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"TemplateForm\"></BBSF-TextBox>\r\n        </form>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        <!-- begin::Menu -->\r\n        <div ngbDropdown class=\"d-inline-block\" [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n          <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\"\r\n            class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n            <i class=\"fas fa-filter me-1\"></i>\r\n            {{utilityService.getResourceValue(\"Filter\")}}\r\n          </button>\r\n          <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\"\r\n            class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary  w-250px w-md-500px fw-bold py-3 dropdown-menu dropdown-menu-right\">\r\n            <form [formGroup]=\"TemplateForm\">\r\n              <div class=\"px-7 py-5\">\r\n                <div class=\"row\">\r\n                  <div class=\"col-lg-12\">\r\n                    <div class=\"mb-10\">\r\n                      <BBSF-DropdownList #categoriesDDL [options]=\"CategoryOptions\"\r\n                        [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"d-flex justify-content-end\">\r\n                  <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"templatesFiltersBtn\">\r\n                    {{utilityService.getResourceValue(\"Reset\")}}\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGenerateCodeAllModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n        </button>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGenerateAllUpdateCodeModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n        </button>\r\n        <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n          (click)=\"showGeneratSysNameModal(GenerateCodeModal)\">\r\n          <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateSysName\")}}\r\n        </button>\r\n        <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\"\r\n          (click)=\"showAddTemplateModal(AddTemplateModal)\">\r\n          <i class=\"kt-nav__link-icon fa fa-plus\"></i>\r\n          {{utilityService.getResourceValue(\"Add\")}}\r\n        </button>\r\n\r\n\r\n        <!-- end::Menu -->\r\n      </div>\r\n    </div>\r\n    <!-- end::Header -->\r\n    <!-- begin::Body -->\r\n    <div class=\"card-body py-3\">\r\n      <!-- begin::Table -->\r\n      <div class=\"table-responsive\">\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n              <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Category\")}}</th>\r\n              <th class=\"mw-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n              <th class=\"mw-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let Template of clientSidePagingResult\">\r\n              <td>\r\n                <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Documents/TemplateInfo',Template.iD_GUID]\"\r\n                  routerLinkActive=\"router-link-active\" class=\"text-dark\">{{Template.nameStr}}</a>\r\n              </td>\r\n              <td>{{Template.descriptionStr}}</td>\r\n              <td>{{Template.categoryItemNameStr}}</td>\r\n              <td *ngIf=\"!ProductionMode\">{{Template.sysName}}</td>\r\n              <td>\r\n                <div>\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\"\r\n                    class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu #menu=\"matMenu\" class=\"mat-menu-content\">\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\"\r\n                      (click)=\"showEditTemplateModal(Template.iD_GUID,EditTemplateModal)\">\r\n                      <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"Edit\")}}</span>\r\n                    </button>\r\n                    <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showGenerateCodeByIdModal(Template.iD_GUID,GenerateCodeModal)\">\r\n                      <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"GenerateCode\")}}</span>\r\n                    </button>\r\n                    <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n                      (click)=\"showDeleteEmailTemplateModal(Template.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n                    </button>\r\n                  </mat-menu>\r\n                </div>\r\n\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '5' : '6'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setTemplateListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"TemplatePaging\"\r\n        [group]=\"TemplateForm\" #TemplatePagingViewElement>\r\n      </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"AddTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddOrganization\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddCategory\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"AddMasterLayout\" [group]=\"AddTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n\r\n\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseTemplateModal id=\"CloseTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n    </div>\r\n\r\n    <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n          </BBSF-MultiLingualTextArea>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n          </BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n          </BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n      (click)=\"modal.dismiss()\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n    </div>\r\n    <form [formGroup]=\"GenerateCodeForm\">\r\n      <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n      </BBSF-TextArea>\r\n      <div class=\"text-center pt-7\">\r\n        <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light btn-sm me-3 \"\r\n          data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n          {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n        </button>\r\n        <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n          {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n        </button>\r\n\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n  #ConfirmationModalControl></BBSF-ConfirmationModal>","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\nexport class DocumentTemplateInfoDTO {\r\n  ID: number;\r\n  ID_GUID: string;\r\n  DocumentBody: EnglishArabicDTO = new EnglishArabicDTO();\r\n  DocumentHeadContent: EnglishArabicDTO = new EnglishArabicDTO();\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ForceDirection, FormOptions, HtmlEditorOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { TemplateEditViewModel } from './../../shared/models/NotificationsModels/TemplateEditViewModel';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentTemplateService } from '../../shared/Services/DocumentTemplateService.service';\r\nimport { DocumentTemplateInfoDTO } from '../../shared/models/DocumentsModels/DocumentTemplateInfoDTO';\r\n\r\n@Component({\r\n    selector: 'lib-edit-document-template',\r\n    templateUrl: './edit-document-template.component.html',\r\n    standalone: false\r\n})\r\nexport class EditDocumentTemplateComponent implements OnInit {\r\n  //Page Requirements\r\n  TemplateId: string;\r\n  Lang: string = \"\";\r\n  TemplateInfo: any;\r\n  IsFormLoaded: boolean;\r\n\r\n  //Initialize form and controls\r\n  EditDocumentForm = new FormGroup({});\r\n  EditDocumentFormOptions = new FormOptions;\r\n  DocumentBodyInEnglish: HtmlEditorOptions;\r\n  DocumentBodyInArabic: HtmlEditorOptions;\r\n  DocumentHeadContentInEnglish: HtmlEditorOptions;\r\n  DocumentHeadContentInArabic: HtmlEditorOptions;\r\n\r\n\r\n\r\n  constructor(private pageInfoService: PageInfoService, public utilityService: UtilityService,\r\n    private bbsfTranslateService: BBSFTranslateService, private templateService: DocumentTemplateService,\r\n    private activatedRoute: ActivatedRoute, private router: Router, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.TemplateId = params['id'];\r\n      this.Lang = params['lang'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n  initializePage() {\r\n    this.templateService.getTemplateInfo(this.TemplateId).subscribe((result) => {\r\n      let Result: any = result;\r\n      this.TemplateInfo = Result.val;\r\n      let TemplateName: string = this.TemplateInfo.localizedTemplateName;\r\n      if (TemplateName == null || TemplateName == undefined)\r\n        TemplateName = \"\";\r\n\r\n      PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Edit\");\r\n      PageInfoService.PageBreadcrumbs = [\r\n        { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: this.utilityService.getResourceValue(\"Templates\"), path: '/Admin/Documents/Templates', isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false },\r\n        { title: TemplateName != \"\" ? this.utilityService.getResourceValue(TemplateName) : \"\", path: \"/Admin/Documents/TemplateInfo/\" + this.TemplateId, isSeparator: false, isActive: false },\r\n        { title: '', path: '', isSeparator: true, isActive: false }\r\n      ];\r\n      this.pageInfoService.calculateTitle();\r\n      this.pageInfoService.calculateBreadcrumbs();\r\n\r\n      //Initialize form and controls\r\n      this.EditDocumentForm = new FormGroup({});\r\n      this.EditDocumentFormOptions = new FormOptions();\r\n      this.EditDocumentFormOptions.formGroup = this.EditDocumentForm;\r\n      this.EditDocumentFormOptions.getModelFunction = this.getEditDocumentModel;\r\n      this.EditDocumentFormOptions.serviceSubmitFunction = this.getEditDocumentFunction;\r\n      this.EditDocumentFormOptions.onSuccessHandler = this.onEditDocumentSuccess;\r\n\r\n      this.DocumentBodyInEnglish = new HtmlEditorOptions();\r\n      this.DocumentBodyInEnglish.name = \"DocumentBodyInEnglish\";\r\n      this.DocumentBodyInEnglish.labelKey = \"DocumentBodyInEnglish\";\r\n      this.DocumentBodyInEnglish.isRequired = true;\r\n      this.DocumentBodyInEnglish.value = this.TemplateInfo.bodyEN;\r\n\r\n      this.DocumentBodyInArabic = new HtmlEditorOptions();\r\n      this.DocumentBodyInArabic.name = \"DocumentBodyInArabic\";\r\n      this.DocumentBodyInArabic.labelKey = \"DocumentBodyInArabic\";\r\n      this.DocumentBodyInArabic.isRequired = true;\r\n      this.DocumentBodyInArabic.forceDirection = ForceDirection.Arabic;\r\n      this.DocumentBodyInArabic.value = this.TemplateInfo.bodyAR;\r\n\r\n      this.DocumentHeadContentInEnglish = new HtmlEditorOptions();\r\n      this.DocumentHeadContentInEnglish.name = \"DocumentHeadContentInEnglish\";\r\n      this.DocumentHeadContentInEnglish.labelKey = \"DocumentHeadContentInEnglish\";\r\n      this.DocumentHeadContentInEnglish.isRequired = false;\r\n      this.DocumentHeadContentInEnglish.value = this.TemplateInfo.headContentHTMLEN;\r\n\r\n      this.DocumentHeadContentInArabic = new HtmlEditorOptions();\r\n      this.DocumentHeadContentInArabic.name = \"DocumentHeadContentInArabic\";\r\n      this.DocumentHeadContentInArabic.labelKey = \"DocumentHeadContentInArabic\";\r\n      this.DocumentHeadContentInArabic.isRequired = false;\r\n      this.DocumentHeadContentInArabic.value = this.TemplateInfo.headContentHTMLAR;\r\n\r\n\r\n\r\n\r\n\r\n      this.IsFormLoaded = true;\r\n    });\r\n\r\n  }\r\n  getEditDocumentModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.EditDocumentForm.value;\r\n    let EditModel = new DocumentTemplateInfoDTO();\r\n    EditModel.ID_GUID = this.TemplateInfo.iD_GUID;\r\n    EditModel.DocumentBody.english = this.Lang == 'ar' ? this.TemplateInfo.bodyEN : ResultModel[\"DocumentBodyInEnglish\"];\r\n    EditModel.DocumentHeadContent.english = this.Lang == 'ar' ? this.TemplateInfo.headContentHTMLEN : ResultModel[\"DocumentHeadContentInEnglish\"];\r\n    EditModel.DocumentBody.arabic = this.Lang == 'ar' ? ResultModel[\"DocumentBodyInArabic\"] : this.TemplateInfo.bodyAR;\r\n    EditModel.DocumentHeadContent.arabic = this.Lang == 'ar' ? ResultModel[\"DocumentHeadContentInArabic\"] : this.TemplateInfo.headContentHTMLAR;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditDocumentFunction = (EditModel): Observable<any> => {\r\n    return this.templateService.editTemplateInfo(EditModel);\r\n  };\r\n  onEditDocumentSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Documents/TemplateInfo', this.TemplateId]);\r\n  }\r\n\r\n  //Change Lang\r\n  changeCurrentLanguage(lang: string) {\r\n    this.Lang = lang;\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n  <div class=\"container-fluid\">\r\n    <div class=\"card card-custom-h\">\r\n      <div class=\"card-header border-0 pt-5\">\r\n        <div class=\"card-title align-items-start flex-column\">\r\n\r\n        </div>\r\n        <div class=\"card-toolbar\">\r\n          <div class=\"subheadertoolbar\">\r\n            <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n              {{utilityService.getResourceValue(\"Arabic\")}}\r\n\r\n            </a>\r\n            <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n              {{utilityService.getResourceValue(\"English\")}}\r\n            </a>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-body\">\r\n        <BBSF-Form [options]=\"EditDocumentFormOptions\" *ngIf=\"IsFormLoaded\">\r\n          <div class=\"kt-form\">\r\n            <div *ngIf=\"Lang=='ar'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"DocumentBodyInArabic\" [group]=\"EditDocumentForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"DocumentHeadContentInArabic\" [group]=\"EditDocumentForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div *ngIf=\"Lang=='en'\">\r\n              <div class=\"row\">\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"DocumentBodyInEnglish\" [group]=\"EditDocumentForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n\r\n                <div class=\"form-group col-md-12\">\r\n                  <BBSF-HtmlEditor [options]=\"DocumentHeadContentInEnglish\" [group]=\"EditDocumentForm\">\r\n                  </BBSF-HtmlEditor>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"d-flex justify-content-end\">\r\n            <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n            <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n          </div>\r\n        </BBSF-Form>\r\n      </div>\r\n    </div>\r\n\r\n\r\n  </div>\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CheckBoxOptions, EnglishArabicDTO, FormOptions, InputType, MultiLingualHtmlEditorOptions, MultiLingualTextBoxOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { EmailHeaderAndFooterTemplate } from '../../shared/models/NotificationsModels/EmailHeaderAndFooterTemplate';\r\nimport { UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentHeaderAndFooterTemplateService } from '../../shared/Services/DocumentHeaderAndFooterTemplate.service';\r\nimport { DocumentHeaderAndFooterTemplate } from '../../shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate';\r\n\r\n@Component({\r\n    selector: 'lib-edit-document',\r\n    templateUrl: './edit-document.component.html',\r\n    standalone: false\r\n})\r\nexport class EditDocumentComponent implements OnInit {\r\n  //Page requirements\r\n  showPageContent: boolean = false;\r\n\r\n  //Edit Model Controls\r\n  editForm = new FormGroup({});\r\n  editFormOptions = new FormOptions;\r\n  templateId: string;\r\n  multiLingualName: MultiLingualTextBoxOptions;\r\n  multiLingualHeader: MultiLingualHtmlEditorOptions;\r\n  multiLingualFooter: MultiLingualHtmlEditorOptions;\r\n  multiLingualHeadContent: MultiLingualHtmlEditorOptions;\r\n  EditTop: TextBoxOptions;\r\n  EditBottom: TextBoxOptions;\r\n  EditLeft: TextBoxOptions;\r\n  EditRight: TextBoxOptions;\r\n  EditPageHeight: TextBoxOptions;\r\n  EditPageWidth: TextBoxOptions;\r\n  EditIsLandscape: CheckBoxOptions;\r\n  EditShowPaging: CheckBoxOptions;\r\n  constructor(public utilityService: UtilityService, private bbsfTranslateService: BBSFTranslateService,\r\n    private documentHeaderAndFooterTemplateService: DocumentHeaderAndFooterTemplateService, private activatedRoute: ActivatedRoute,\r\n    private router: Router, private requestHandlerService: RequestHandlerService) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.templateId = params['id'];\r\n    });\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    PageInfoService.PageTitle = \"\";\r\n    PageInfoService.PageBreadcrumbs = [\r\n    ];\r\n\r\n    this.bbsfTranslateService.onLangChange.subscribe((event) => {\r\n      this.ngOnInit();\r\n    });\r\n    this.initializePage();\r\n  }\r\n\r\n\r\n  //Initialize edit page\r\n  initializePage() {\r\n    this.documentHeaderAndFooterTemplateService.getDocumentHeaderAndFooterTemplateById(this.templateId).subscribe((result) => {\r\n      var EditObject = result as any;\r\n      this.editForm = new FormGroup({});\r\n      this.editFormOptions = new FormOptions();\r\n      this.editFormOptions.formGroup = this.editForm;\r\n      this.editFormOptions.getModelFunction = this.getEditModel;\r\n      this.editFormOptions.serviceSubmitFunction = this.getEditFunction;\r\n      this.editFormOptions.onSuccessHandler = this.onEditSuccess;\r\n\r\n      this.templateId = EditObject.iD_GUID;\r\n\r\n      let Name = new EnglishArabicDTO();\r\n      Name.arabic = EditObject.name.arabic;\r\n      Name.english = EditObject.name.english;\r\n\r\n      this.multiLingualName = new MultiLingualTextBoxOptions();\r\n      this.multiLingualName.name = \"Name\";\r\n      this.multiLingualName.arabicLabelKey = \"NameInArabic\";\r\n      this.multiLingualName.englishLabelKey = \"NameInEnglish\";\r\n      this.multiLingualName.isRequired = true;\r\n      this.multiLingualName.value = Name;\r\n      this.multiLingualName.maxLength = 100;\r\n\r\n      let Header = new EnglishArabicDTO();\r\n      Header.arabic = EditObject.header.arabic;\r\n      Header.english = EditObject.header.english;\r\n\r\n      this.multiLingualHeader = new MultiLingualHtmlEditorOptions();\r\n      this.multiLingualHeader.name = \"Header\";\r\n      this.multiLingualHeader.arabicLabelKey = \"HeaderInArabic\";\r\n      this.multiLingualHeader.englishLabelKey = \"HeaderInEnglish\";\r\n      this.multiLingualHeader.isRequired = true;\r\n      this.multiLingualHeader.value = Header;\r\n\r\n      let Footer = new EnglishArabicDTO();\r\n      Footer.arabic = EditObject.footer.arabic;\r\n      Footer.english = EditObject.footer.english;\r\n\r\n      this.multiLingualFooter = new MultiLingualHtmlEditorOptions();\r\n      this.multiLingualFooter.name = \"Footer\";\r\n      this.multiLingualFooter.arabicLabelKey = \"FooterInArabic\";\r\n      this.multiLingualFooter.englishLabelKey = \"FooterInEnglish\";\r\n      this.multiLingualFooter.isRequired = true;\r\n      this.multiLingualFooter.value = Footer;\r\n\r\n      let HeadContent = new EnglishArabicDTO();\r\n      HeadContent.arabic = EditObject.headContent.arabic;\r\n      HeadContent.english = EditObject.headContent.english;\r\n      this.multiLingualHeadContent = new MultiLingualHtmlEditorOptions();\r\n      this.multiLingualHeadContent.name = \"HTMLHeadContent\";\r\n      this.multiLingualHeadContent.arabicLabelKey = \"HTMLHeadContentInArabic\";\r\n      this.multiLingualHeadContent.englishLabelKey = \"HTMLHeadContentInEnglish\";\r\n      this.multiLingualHeadContent.value = HeadContent;\r\n\r\n\r\n      this.EditTop = new TextBoxOptions();\r\n      this.EditTop.name = 'Top';\r\n      this.EditTop.labelKey = 'Top';\r\n      this.EditTop.type = InputType.Number;\r\n      this.EditTop.value = EditObject.top;\r\n\r\n      this.EditBottom = new TextBoxOptions();\r\n      this.EditBottom.name = 'Bottom';\r\n      this.EditBottom.labelKey = 'Bottom';\r\n      this.EditBottom.type = InputType.Number;\r\n      this.EditBottom.value = EditObject.bottom;\r\n\r\n      this.EditLeft = new TextBoxOptions();\r\n      this.EditLeft.name = 'Left';\r\n      this.EditLeft.labelKey = 'Left';\r\n      this.EditLeft.type = InputType.Number;\r\n      this.EditLeft.value = EditObject.left;\r\n\r\n      this.EditRight = new TextBoxOptions();\r\n      this.EditRight.name = 'Right';\r\n      this.EditRight.labelKey = 'Right';\r\n      this.EditRight.type = InputType.Number;\r\n      this.EditRight.value = EditObject.right;\r\n\r\n\r\n      this.EditPageHeight = new TextBoxOptions();\r\n      this.EditPageHeight.name = 'PageHeight';\r\n      this.EditPageHeight.labelKey = 'PageHeight';\r\n      this.EditPageHeight.type = InputType.Number;\r\n      this.EditPageHeight.value = EditObject.pageHeight;\r\n\r\n      this.EditPageWidth = new TextBoxOptions();\r\n      this.EditPageWidth.name = 'PageWidth';\r\n      this.EditPageWidth.labelKey = 'PageWidth';\r\n      this.EditPageWidth.type = InputType.Number;\r\n      this.EditPageWidth.value = EditObject.pageWidth;\r\n\r\n      this.EditIsLandscape = new CheckBoxOptions();\r\n      this.EditIsLandscape.name = 'IsLandscape';\r\n      this.EditIsLandscape.labelKey = 'Landscape';\r\n      this.EditIsLandscape.value = EditObject.isLandscape;\r\n\r\n      this.EditShowPaging = new CheckBoxOptions();\r\n      this.EditShowPaging.name = 'ShowPaging';\r\n      this.EditShowPaging.labelKey = 'ShowPaging';\r\n      this.EditShowPaging.value = EditObject.showPaging;\r\n\r\n      this.showPageContent = true;\r\n    });\r\n  }\r\n  getEditModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.editForm.value as any;\r\n    let EditModel = new DocumentHeaderAndFooterTemplate();\r\n    EditModel.ID_GUID = this.templateId;\r\n    EditModel.Name.english = ResultModel.Name.English;\r\n    EditModel.Name.arabic = ResultModel.Name.Arabic;\r\n    EditModel.Header.english = ResultModel.Header.English;\r\n    EditModel.Header.arabic = ResultModel.Header.Arabic;\r\n    EditModel.Footer.english = ResultModel.Footer.English;\r\n    EditModel.Footer.arabic = ResultModel.Footer.Arabic;\r\n    EditModel.HeadContent.english = ResultModel.HTMLHeadContent.English;\r\n    EditModel.HeadContent.arabic = ResultModel.HTMLHeadContent.Arabic;\r\n    EditModel.TOP = ResultModel.Top;\r\n    EditModel.Bottom = ResultModel.Bottom;\r\n    EditModel.Left = ResultModel.Left;\r\n    EditModel.Right = ResultModel.Right;\r\n    EditModel.PageHeight = ResultModel.PageHeight;\r\n    EditModel.PageWidth = ResultModel.PageWidth;\r\n    EditModel.IsLandscape = ResultModel.IsLandscape;\r\n    EditModel.ShowPaging = ResultModel.ShowPaging;\r\n    paramArray.push(EditModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditFunction = (AddModel): Observable<any> => {\r\n    return this.documentHeaderAndFooterTemplateService.editDocumentHeaderAndFooterTemplate(AddModel);\r\n  };\r\n\r\n  onEditSuccess = (result) => {\r\n    this.cancelEdit();\r\n  };\r\n\r\n  cancelEdit() {\r\n    this.router.navigate(['/Admin/Documents/MasterLayouts']);\r\n  }\r\n\r\n  //On destroy\r\n  ngOnDestroy(): void {\r\n    this.requestHandlerService.destroyHandler();\r\n  }\r\n}\r\n","\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\" *ngIf=\"showPageContent\">\r\n    <div class=\"card-body\">\r\n      <BBSF-Form [options]=\"editFormOptions\">\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualTextBox [options]=\"multiLingualName\"\r\n              [group]=\"editForm\"></BBSF-MultiLingualTextBox>\r\n\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeader\"\r\n              [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualFooter\"\r\n              [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\" row\">\r\n          <div class=\"col-md-12 table-dark-skin\">\r\n            <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeadContent\"\r\n              [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <h2> {{utilityService.getResourceValue(\"Options\")}}</h2>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditTop\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditBottom\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditLeft\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditRight\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditPageHeight\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-TextBox [options]=\"EditPageWidth\" [group]=\"editForm\">\r\n            </BBSF-TextBox>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <BBSF-CheckBox [options]=\"EditIsLandscape\" [group]=\"editForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n          <div class=\"col-md-6\">\r\n            <BBSF-CheckBox [options]=\"EditShowPaging\" [group]=\"editForm\">\r\n            </BBSF-CheckBox>\r\n          </div>\r\n        </div>\r\n\r\n\r\n        <div class=\"text-center pt-7\">\r\n          <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\"\r\n            (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n          <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AddDocumentComponent } from './add-document/add-document.component';\r\nimport { DocumentMasterLayoutsComponent } from './document-master-layouts/document-master-layouts.component';\r\nimport { DocumentTemplateInfoComponent } from './document-template-info/document-template-info.component';\r\nimport { DocumentsTemplatesComponent } from './document-templates/document-templates.component';\r\nimport { DocumentsComponent } from './documents.component';\r\nimport { EditDocumentTemplateComponent } from './edit-document-template/edit-document-template.component';\r\nimport { EditDocumentComponent } from './edit-document/edit-document.component';\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\", component: DocumentsComponent, children: [\r\n      { path: \"Add\", component: AddDocumentComponent },\r\n      { path: \"Edit/:id\", component: EditDocumentComponent },\r\n      { path: \"TemplateInfo/:id\", component: DocumentTemplateInfoComponent },\r\n      { path: \"Templates\", component: DocumentsTemplatesComponent },\r\n      { path: \"EditTemplate/:id/:lang\", component: EditDocumentTemplateComponent },\r\n      { path: \"MasterLayouts\", component: DocumentMasterLayoutsComponent },\r\n      { path: \"\", redirectTo: 'MasterLayouts', pathMatch: 'full' },\r\n    ]\r\n  }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class DocumentsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport {\r\n  AuthService,\r\n  BBSFTranslateService,\r\n  EnvironmentService,\r\n  UtilityService,\r\n} from '@bnsights/bbsf-utilities';\r\nimport { TemplateService } from '../shared/Services/TemplateService.service';\r\nimport { DocumentsComponent } from './documents.component';\r\nimport { DocumentsRoutingModule } from './documents.routing';\r\nimport { DocumentMasterLayoutsComponent } from './document-master-layouts/document-master-layouts.component';\r\nimport { AddDocumentComponent } from './add-document/add-document.component';\r\nimport { EditDocumentComponent } from './edit-document/edit-document.component';\r\nimport { DocumentsTemplatesComponent } from './document-templates/document-templates.component';\r\nimport { DocumentTemplateInfoComponent } from './document-template-info/document-template-info.component';\r\nimport { EditDocumentTemplateComponent } from './edit-document-template/edit-document-template.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    DocumentsComponent,\r\n    DocumentMasterLayoutsComponent,\r\n    AddDocumentComponent,\r\n    EditDocumentComponent,\r\n    DocumentsTemplatesComponent,\r\n    DocumentTemplateInfoComponent,\r\n    EditDocumentTemplateComponent\r\n  ],\r\n  imports: [\r\n    DocumentsRoutingModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    ReactiveFormsModule,\r\n    SubheaderModule,\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule,\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    TemplateService,\r\n  ],\r\n})\r\nexport class DocumentsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-organization',\r\n    templateUrl: './organization.component.html',\r\n    standalone: false\r\n})\r\nexport class OrganizationComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { RequestHandlerService } from \"@bnsights/bbsf-utilities\";\r\nimport { OrganizationModel } from \"../models/organization/organization.model\";\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class OrganizationService {\r\n  ApiUrl = \"/api/admin/organization/\";\r\n\r\n  constructor(private http: RequestHandlerService) { }\r\n\r\n\r\n  addOrganization(AddModel: OrganizationModel) {\r\n    return this.http.post(this.ApiUrl + 'AddOrganization', AddModel);\r\n  }\r\n\r\n  getOrganization(id: string) {\r\n    let params = new HttpParams();\r\n    params = params.append(\"id\", id);\r\n    return this.http.get<{ model: OrganizationModel; }>(this.ApiUrl + 'EditOrganization', params);\r\n  }\r\n\r\n  editOrganization(EditModel: OrganizationModel) {\r\n    return this.http.post(this.ApiUrl + 'EditOrganization', EditModel);\r\n  }\r\n\r\n  deleteOrganization(id: string) {\r\n    return this.http.post<any>(this.ApiUrl + 'DeleteOrganization', JSON.stringify(id));\r\n  }\r\n  activateOrDeactivateOrganization(id?: string) {\r\n    return this.http.post<any>(this.ApiUrl + 'ActivateorDeactivateOrganization', id);\r\n  }\r\n}\r\n\r\n","import { EnglishArabicDTO, FileDTO } from '@bnsights/bbsf-controls';\r\n\r\nexport class OrganizationModel {\r\n    iD_GUID: string;\r\n    name: EnglishArabicDTO = new EnglishArabicDTO();\r\n    logoFileDTO: FileDTO;\r\n    logoFileID: number | null;\r\n    defaultTimeZone: string;\r\n    defaultLanguage: string;\r\n    identifier: string;\r\n}\r\n\r\nexport class OrganizationEditorDTO {\r\n    ID_GUID: string | null;\r\n    name: EnglishArabicDTO;\r\n    logoFileDTO: FileDTO;\r\n    logoFileID: number | null;\r\n    defaultTimeZone: string;\r\n    defaultLanguage: string;\r\n\r\n}\r\n\r\n\r\nexport class OrganizationListModel {\r\n    iD_GUID: string = undefined;\r\n    name: string = undefined;\r\n}","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { OrganizationService } from '../../shared/Services/organization.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, EnglishArabicDTO, FormOptions, ImageType, ImageUploadOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { OrganizationModel } from '../../shared/models/organization/organization.model';\r\nimport { Observable } from 'rxjs';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n  selector: 'lib-edit-organization',\r\n  templateUrl: './edit-organization.component.html',\r\n  standalone: false\r\n})\r\nexport class EditOrganizationComponent implements OnInit {\r\n\r\n  @Input() pagingElement: PagingComponent<any>;\r\n  @ViewChild(\"editModal\", { static: false }) modal: ElementRef;\r\n  form = new FormGroup({});\r\n  formOptions: FormOptions;\r\n  multiLingualNameOptions: MultiLingualTextBoxOptions;\r\n  languageOptions: TextBoxOptions;\r\n  timeZoneOptions: TextBoxOptions;\r\n  logoOptions: ImageUploadOptions;\r\n  identifierOptions: TextBoxOptions;\r\n\r\n  organizationId: string;\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private modalService: NgbModal,\r\n    private service: OrganizationService,\r\n  ) {\r\n  }\r\n\r\n\r\n  ngOnInit(): void {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Organization\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n  }\r\n\r\n\r\n  //#region add modal\r\n  showModal(organizationId: string) {\r\n\r\n    this.organizationId = organizationId;\r\n    this.utilityService.startBlockUI();\r\n    this.form = new FormGroup({});\r\n\r\n    this.formOptions = new FormOptions();\r\n    this.formOptions.formGroup = this.form;\r\n    this.formOptions.getModelFunction = this.editModelFunc;\r\n    this.formOptions.serviceSubmitFunction = this.editOrganizationFunc;\r\n    this.formOptions.pagingReference = this.pagingElement;\r\n\r\n    this.service.getOrganization(organizationId).subscribe(res => {\r\n\r\n      let name = new EnglishArabicDTO();\r\n      let result = res.model;\r\n      name.arabic = result.name.arabic;\r\n      name.english = result.name.english;\r\n\r\n      this.multiLingualNameOptions = new MultiLingualTextBoxOptions();\r\n      this.multiLingualNameOptions.name = \"Name\";\r\n      this.multiLingualNameOptions.arabicLabelKey = \"NameInArabic\";\r\n      this.multiLingualNameOptions.englishLabelKey = \"NameInEnglish\";\r\n      this.multiLingualNameOptions.isRequired = true;\r\n      this.multiLingualNameOptions.value = name;\r\n      this.multiLingualNameOptions.maxLength = 100;\r\n\r\n      this.languageOptions = new TextBoxOptions();\r\n      this.languageOptions.name = \"language\";\r\n      this.languageOptions.labelKey = \"Language\";\r\n      this.languageOptions.type = InputType.Text;\r\n      this.languageOptions.value = result.defaultLanguage;\r\n      this.languageOptions.isRequired = true;\r\n      this.languageOptions.maxLength = 64;\r\n\r\n      this.timeZoneOptions = new TextBoxOptions();\r\n      this.timeZoneOptions.name = \"timeZone\";\r\n      this.timeZoneOptions.labelKey = \"TimeZone\";\r\n      this.timeZoneOptions.type = InputType.Text;\r\n      this.timeZoneOptions.value = result.defaultTimeZone;\r\n      this.timeZoneOptions.isRequired = true;\r\n      this.timeZoneOptions.maxLength = 64;\r\n\r\n      this.identifierOptions = new TextBoxOptions();\r\n      this.identifierOptions.name = \"identifier\";\r\n      this.identifierOptions.labelKey = \"identifier\";\r\n      this.identifierOptions.type = InputType.Text;\r\n      this.identifierOptions.value = result.identifier;\r\n      this.identifierOptions.isRequired = true;\r\n      this.identifierOptions.maxLength = 64;\r\n\r\n      this.logoOptions = new ImageUploadOptions();\r\n      this.logoOptions.name = \"LogoFileDTO\";\r\n      this.logoOptions.labelKey = \"Logo\";\r\n      this.logoOptions.viewType = ControlLayout.Vertical;\r\n      this.logoOptions.fileUploadAcceptsTypes = [ImageType.ImageTypes];\r\n      this.logoOptions.isRequired = false;\r\n      this.logoOptions.value = result.logoFileDTO;\r\n\r\n      this.modalService.open(this.modal, { size: 'xl' } as NgbModalOptions);\r\n      this.utilityService.stopBlockUI();\r\n    });\r\n\r\n  }\r\n\r\n\r\n  editModelFunc = (): OrganizationModel[] => {\r\n    let ResultModel = this.form.value as any;\r\n    let model: OrganizationModel = new OrganizationModel();\r\n\r\n    model.iD_GUID = this.organizationId;\r\n    model.name = ResultModel[this.multiLingualNameOptions.name];\r\n    model.defaultLanguage = ResultModel[this.languageOptions.name];\r\n    model.defaultTimeZone = ResultModel[this.timeZoneOptions.name];\r\n    model.identifier = ResultModel[this.identifierOptions.name];\r\n    model.logoFileDTO = ResultModel[this.logoOptions.name];\r\n\r\n    return Array(model);\r\n  };\r\n\r\n  editOrganizationFunc = (model: OrganizationModel): Observable<any> => {\r\n    return this.service.editOrganization(model);\r\n  };\r\n  //#endregion\r\n\r\n}\r\n","<ng-template #editModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Add') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"formOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"multiLingualNameOptions\" [group]=\"form\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"languageOptions\" [group]=\"form\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"timeZoneOptions\" [group]=\"form\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-ImageUpload [options]=\"logoOptions\" [group]=\"form\"> </BBSF-ImageUpload>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          type=\"button\"\r\n          #closeOrganizationModal\r\n          id=\"closeOrganizationModal\"\r\n          data-dismiss=\"modal\"\r\n          aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { OrganizationService } from '../../shared/Services/organization.service';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ControlLayout, FormOptions, ImageType, ImageUploadOptions, InputType, MultiLingualTextBoxOptions, PagingComponent, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { OrganizationModel } from '../../shared/models/organization/organization.model';\r\nimport { Observable } from 'rxjs';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Component({\r\n    selector: 'lib-add-organization',\r\n    templateUrl: './add-organization.component.html',\r\n    standalone: false\r\n})\r\nexport class AddOrganizationComponent implements OnInit {\r\n\r\n  @Input() pagingElement: PagingComponent<any>;\r\n  @ViewChild(\"addModal\", { static: false }) modal: ElementRef;\r\n  form = new FormGroup({});\r\n  formOptions: FormOptions;\r\n  multiLingualNameOptions: MultiLingualTextBoxOptions;\r\n  languageOptions: TextBoxOptions;\r\n  timeZoneOptions: TextBoxOptions;\r\n  logoOptions: ImageUploadOptions;\r\n  identifierOptions: TextBoxOptions;\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private modalService: NgbModal,\r\n    private service: OrganizationService,\r\n  ) {\r\n  }\r\n\r\n\r\n  ngOnInit(): void {\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Organization\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n  }\r\n\r\n\r\n  //#region add modal\r\n  showModal() {\r\n    this.utilityService.startBlockUI();\r\n    this.form = new FormGroup({});\r\n\r\n    this.formOptions = new FormOptions();\r\n    this.formOptions.formGroup = this.form;\r\n    this.formOptions.getModelFunction = this.addModelFunc;\r\n    this.formOptions.serviceSubmitFunction = this.addOrganizationFunc;\r\n    this.formOptions.pagingReference = this.pagingElement;\r\n\r\n    this.multiLingualNameOptions = new MultiLingualTextBoxOptions();\r\n    this.multiLingualNameOptions.name = \"Name\";\r\n    this.multiLingualNameOptions.arabicLabelKey = \"NameInArabic\";\r\n    this.multiLingualNameOptions.englishLabelKey = \"NameInEnglish\";\r\n    this.multiLingualNameOptions.isRequired = true;\r\n    this.multiLingualNameOptions.maxLength = 100;\r\n\r\n    this.languageOptions = new TextBoxOptions();\r\n    this.languageOptions.name = \"language\";\r\n    this.languageOptions.labelKey = \"Language\";\r\n    this.languageOptions.type = InputType.Text;\r\n    this.languageOptions.value = null;\r\n    this.languageOptions.isRequired = true;\r\n    this.languageOptions.maxLength = 64;\r\n\r\n    this.timeZoneOptions = new TextBoxOptions();\r\n    this.timeZoneOptions.name = \"timeZone\";\r\n    this.timeZoneOptions.labelKey = \"TimeZone\";\r\n    this.timeZoneOptions.type = InputType.Text;\r\n    this.timeZoneOptions.value = null;\r\n    this.timeZoneOptions.isRequired = true;\r\n    this.timeZoneOptions.maxLength = 64;\r\n\r\n    this.identifierOptions = new TextBoxOptions();\r\n    this.identifierOptions.name = \"identifier\";\r\n    this.identifierOptions.labelKey = \"identifier\";\r\n    this.identifierOptions.type = InputType.Text;\r\n    this.identifierOptions.value = null;\r\n    this.identifierOptions.isRequired = true;\r\n    this.identifierOptions.maxLength = 64;\r\n\r\n    this.logoOptions = new ImageUploadOptions();\r\n    this.logoOptions.name = \"LogoFileDTO\";\r\n    this.logoOptions.labelKey = \"Logo\";\r\n    this.logoOptions.viewType = ControlLayout.Vertical;\r\n    this.logoOptions.fileUploadAcceptsTypes = [ImageType.ImageTypes];\r\n    this.logoOptions.isRequired = false;\r\n\r\n    this.modalService.open(this.modal, { size: 'xl' } as NgbModalOptions);\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  addModelFunc = (): OrganizationModel[] => {\r\n    let ResultModel = this.form.value as any;\r\n    let model: OrganizationModel = new OrganizationModel();\r\n\r\n    model.name = ResultModel[this.multiLingualNameOptions.name];\r\n    model.defaultLanguage = ResultModel[this.languageOptions.name];\r\n    model.defaultTimeZone = ResultModel[this.timeZoneOptions.name];\r\n    model.identifier = ResultModel[this.identifierOptions.name];\r\n    model.logoFileDTO = ResultModel[this.logoOptions.name];\r\n\r\n    return Array(model);\r\n  };\r\n\r\n  addOrganizationFunc = (model: OrganizationModel): Observable<any> => {\r\n    return this.service.addOrganization(model);\r\n  };\r\n  //#endregion\r\n\r\n}\r\n","<ng-template #addModal let-modal>\r\n  <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n    <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n    <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n      <span class=\"svg-icon svg-icon-1\">\r\n        <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n      </span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n    <div class=\"mb-13 text-center\">\r\n      <h1 class=\"mb-3\">{{ utilityService.getResourceValue('Add') }}</h1>\r\n    </div>\r\n    <BBSF-Form [options]=\"formOptions\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <BBSF-MultiLingualTextBox [options]=\"multiLingualNameOptions\" [group]=\"form\"></BBSF-MultiLingualTextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"languageOptions\" [group]=\"form\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-TextBox [options]=\"timeZoneOptions\" [group]=\"form\"> </BBSF-TextBox>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <BBSF-ImageUpload [options]=\"logoOptions\" [group]=\"form\"> </BBSF-ImageUpload>\r\n        </div>\r\n      </div>\r\n      <div class=\"text-center pt-7\">\r\n        <button\r\n          type=\"button\"\r\n          #closeOrganizationModal\r\n          id=\"closeOrganizationModal\"\r\n          data-dismiss=\"modal\"\r\n          aria-label=\"Close\"\r\n          class=\"btn btn-light me-3 btn-sm\"\r\n          (click)=\"modal.dismiss()\">\r\n          {{ utilityService.getResourceValue('CancelLabel') }}\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{ utilityService.getResourceValue('SaveLabel') }}</button>\r\n      </div>\r\n    </BBSF-Form>\r\n  </div>\r\n</ng-template>\r\n","import { ConfirmationModalComponent, ConfirmationModalOptions, FilterItem, FilterType, InputType, PagingComponent, PagingOptions, PermissionSets, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { PageInfoService } from '../../../_metronic/core/services/page-info.service';\r\nimport { OrganizationService } from '../../shared/Services/organization.service';\r\nimport { AuthService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { PermissionListModel } from '../../shared/models/PermissionsModels/PermissionModel';\r\nimport { AddOrganizationComponent } from '../add-organization';\r\nimport { EditOrganizationComponent } from '../edit-organization';\r\n\r\n@Component({\r\n    selector: 'lib-list-organization',\r\n    templateUrl: './list-organization.component.html',\r\n    standalone: false\r\n})\r\nexport class ListOrganizationComponent implements OnInit {\r\n  //Page requirements\r\n  ApiUrl = this.service.ApiUrl;\r\n  ProductionMode: boolean;\r\n  currentUserProfile: any;\r\n  permissionSets = PermissionSets;\r\n  isMultiTenancyAllowed: boolean = false;\r\n  isSuperAdmin: boolean = false;\r\n\r\n  //Filter and paging components\r\n  form = new FormGroup({});\r\n  filterForm = new FormGroup({});\r\n  searchTextBox: TextBoxOptions;\r\n  showFilter: boolean = false;\r\n  pagingResult: PermissionListModel[] = [];\r\n  filteredPagingResult: PermissionListModel[] = [];\r\n  pagingOptions: PagingOptions = new PagingOptions();\r\n  textInputFilter: FilterItem;\r\n  showPageContent: boolean = false;\r\n  isFilterLoaded: boolean = false;\r\n  @ViewChild('pagingElement', { static: false }) pagingElement: PagingComponent<any>;\r\n\r\n  //#region delete modal data\r\n  deletedOrganizationId: string;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  deleteControlLoaded: boolean = false;\r\n  @ViewChild('confirmationModalControl', { static: false }) confirmationModalControl: ConfirmationModalComponent;\r\n  //#endregion\r\n\r\n  //#region modals\r\n\r\n  @ViewChild(\"addOrganizationModal\", { static: false }) addOrganizationModal: AddOrganizationComponent;\r\n  @ViewChild(\"editOrganizationModal\", { static: false }) editOrganizationModal: EditOrganizationComponent;\r\n\r\n  //#endregion\r\n\r\n   //#region activate modal data\r\n   adminWithMultitenanEnabled:boolean;\r\n   activatedOrganizationId: string;\r\n   activateConfirmationOptions: ConfirmationModalOptions;\r\n   activateControlLoaded: boolean = false;\r\n   @ViewChild('activateConfirmationModalControl', { static: false }) activateConfirmationModalControl: ConfirmationModalComponent;\r\n   //#endregion\r\n\r\n  constructor(\r\n    private pageInfoService: PageInfoService,\r\n    public utilityService: UtilityService,\r\n    private environmentService: EnvironmentService,\r\n    private service: OrganizationService,\r\n    private authService: AuthService\r\n  ) {\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    let isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.adminWithMultitenanEnabled=isMultiTenancyAllowed && this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n  }\r\n\r\n\r\n  //#region events\r\n  ngOnInit() {\r\n    this.showPageContent = true;\r\n\r\n    //Page header (breadcrumb and title)\r\n    PageInfoService.PageTitle = this.utilityService.getResourceValue(\"Permissions\");\r\n    PageInfoService.PageBreadcrumbs = [\r\n      { title: this.utilityService.getResourceValue(\"Home\"), path: '/Admin/Home', isSeparator: false, isActive: false },\r\n      { title: '', path: '', isSeparator: true, isActive: false }\r\n\r\n    ];\r\n    this.pageInfoService.calculateTitle();\r\n    this.pageInfoService.calculateBreadcrumbs();\r\n    this.ProductionMode = this.environmentService.getProductionMode();\r\n    this.isMultiTenancyAllowed = this.environmentService.getAllowMultiTenancy();\r\n    this.currentUserProfile = this.authService.getCurrentUser().profile;\r\n    this.isSuperAdmin = this.currentUserProfile.permissionSetSID == this.permissionSets.Admin;\r\n\r\n    //initialize page\r\n    this.initializePage();\r\n  }\r\n  //#endregion\r\n\r\n  //#region Paging functions\r\n  setListResult(result) {\r\n    this.pagingResult = result;\r\n    this.showPageContent = true;\r\n    this.filteredPagingResult = this.pagingResult;\r\n  }\r\n  //#endregion\r\n\r\n  //#region initialize page\r\n  initializePage() {\r\n    //#region input field options\r\n    this.searchTextBox = new TextBoxOptions();\r\n    this.searchTextBox.name = \"searchTextBox\";\r\n    this.searchTextBox.hideLabel = true;\r\n    this.searchTextBox.type = InputType.Text;\r\n    this.searchTextBox.placeholder = this.utilityService.getResourceValue(\"SearchByName\");\r\n\r\n    //#endregion\r\n\r\n    this.textInputFilter = new FilterItem();\r\n    this.textInputFilter.formControlName = this.searchTextBox.name;\r\n    this.textInputFilter.actionParameterName = \"searchText\";\r\n    this.textInputFilter.isFormControl = true;\r\n    this.textInputFilter.filterType = FilterType.TextBox;\r\n\r\n    this.pagingOptions.actionPostURL = this.ApiUrl + 'getOrganizationByFilter';\r\n    this.pagingOptions.onKeyPressFiltersControlNames = [this.searchTextBox.name];\r\n    this.pagingOptions.filters = [\r\n      ...this.pagingOptions.filters,\r\n      this.textInputFilter\r\n    ];\r\n    this.isFilterLoaded = true;\r\n  }\r\n  //#endregion\r\n\r\n  //#region modal methods\r\n  showAddModal() {\r\n    this.addOrganizationModal.showModal();\r\n  }\r\n\r\n  showEditModal(id: string) {\r\n    this.editOrganizationModal.showModal(id);\r\n  }\r\n\r\n  showDeleteModal(id: string) {\r\n    this.deleteControlLoaded = false;\r\n    this.deletedOrganizationId = id;\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.deleteOrganization;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = Array(this.deletedOrganizationId);\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteControlLoaded = true;\r\n\r\n    setTimeout(() => {\r\n      this.confirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n\r\n  deleteOrganization = (id: string) => {\r\n    return this.service.deleteOrganization(id);\r\n  };\r\n\r\n  showActivateModal(id: string) {\r\n    var isActivated=this.pagingResult.find(p=>p.iD_GUID==id).organizationIsActivated;\r\n\r\n    let confirmationBtn: string;\r\n    let confirmationBody: string;\r\n    let confirmationHeader: string;\r\n    if(isActivated){\r\n      confirmationBtn=this.utilityService.getResourceValue(\"CancelImpersonate\");\r\n      confirmationBody=this.utilityService.getResourceValue(\"CancelImpersonateOrganizationConfirmationBody\");\r\n      confirmationHeader=this.utilityService.getResourceValue(\"CancelImpersonateOrganizationConfirmation\");\r\n    }\r\n    else{\r\n      confirmationBtn=this.utilityService.getResourceValue(\"Impersonate\");\r\n      confirmationBody=this.utilityService.getResourceValue(\"ImpersonateOrganizationConfirmationBody\");\r\n      confirmationHeader=this.utilityService.getResourceValue(\"ImpersonateOrganizationConfirmation\");\r\n\r\n    }\r\n    this.activateControlLoaded = false;\r\n    this.activatedOrganizationId = id;\r\n    this.activateConfirmationOptions = new ConfirmationModalOptions();\r\n    this.activateConfirmationOptions.submitButtonText=confirmationBtn;\r\n    this.activateConfirmationOptions.confirmationBody=confirmationBody;\r\n    this.activateConfirmationOptions.confirmationHeader=confirmationHeader;\r\n    this.activateConfirmationOptions.serviceSubmitFunction = this.activateOrganization;\r\n    this.activateConfirmationOptions.serviceSubmitModel = Array(this.activatedOrganizationId);\r\n    this.activateConfirmationOptions.disableSuccessNotification=true;\r\n    this.activateConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.activateConfirmationOptions.onSuccessHandler=this.onActivateOrganizationSuccess;\r\n    this.activateControlLoaded = true;\r\n\r\n    setTimeout(() => {\r\n      this.activateConfirmationModalControl.showModal();\r\n    }, 200);\r\n  }\r\n  activateOrganization = (id: string) => {\r\n    var isActivated=this.pagingResult.find(p=>p.iD_GUID==id).organizationIsActivated;\r\n    let orgID=isActivated?null:JSON.stringify(id);\r\n    return this.service.activateOrDeactivateOrganization(orgID);\r\n  };\r\n  getActivateText(orgID:string){\r\n    var isActivated=this.pagingResult.find(p=>p.iD_GUID==orgID).organizationIsActivated;\r\n    return isActivated?this.utilityService.getResourceValue(\"CancelImpersonate\"):this.utilityService.getResourceValue(\"Impersonate\");\r\n  }\r\n  onActivateOrganizationSuccess=(result)=>{\r\n    this.authService.handleAccessTokenWithoutLanguage(result.val);\r\n  }\r\n  //#endregion\r\n\r\n}\r\n","<block-ui></block-ui>\r\n\r\n<!-- #region page content -->\r\n<div class=\"container-fluid\">\r\n  <div class=\"card card-custom-h\">\r\n    <div class=\"card-header border-0 pt-5\">\r\n      <div class=\"card-title align-items-start flex-column\" *ngIf=\"isFilterLoaded\">\r\n        <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"form\"></BBSF-TextBox>\r\n      </div>\r\n      <div class=\"card-toolbar\">\r\n        @if (isSuperAdmin) {\r\n          <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddModal()\">\r\n            <i class=\"fas fa-plus me-1\"></i>\r\n            {{ utilityService.getResourceValue('Add') }}\r\n          </button>\r\n        }\r\n      </div>\r\n    </div>\r\n    <div class=\"card-body py-3\">\r\n      <div class=\"table-responsive\">\r\n        <!-- #region permission list -->\r\n        <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n          <thead>\r\n            <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n              <th class=\"min-w-150px\">{{ utilityService.getResourceValue('Name') }}</th>\r\n              <th class=\"min-w-50px\">{{ utilityService.getResourceValue('Action') }}</th>\r\n            </tr>\r\n          </thead>\r\n          <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n            <tr *ngFor=\"let organization of filteredPagingResult\">\r\n              <td>\r\n                {{ organization.name }}\r\n              </td>\r\n              <td>\r\n                <div *ngIf=\"isSuperAdmin\">\r\n                  <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n                    <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n                  </button>\r\n                  <mat-menu class=\"mat-menu-content\" #menu=\"matMenu\">\r\n                    <a class=\"drop-item px-3\" ngbDropdownItem (click)=\"showEditModal(organization.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Edit') }}</span>\r\n                    </a>\r\n                    <a ngbDropdownItem class=\"drop-item px-3\" (click)=\"showDeleteModal(organization.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">{{ utilityService.getResourceValue('Delete') }}</span>\r\n                    </a>\r\n                    <a *ngIf=\"adminWithMultitenanEnabled\" ngbDropdownItem class=\"drop-item px-3\" (click)=\"showActivateModal(organization.iD_GUID)\">\r\n                      <span class=\"drop-link px-3\">\r\n                        {{ getActivateText(organization.iD_GUID) }}\r\n                      </span>\r\n                    </a>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            <tr *ngIf=\"filteredPagingResult.length == 0\">\r\n              <td [attr.colspan]=\"ProductionMode ? '3' : '4'\">\r\n                <lib-empty-data></lib-empty-data>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n        <!-- #endregion -->\r\n      </div>\r\n    </div>\r\n    <div class=\"card-footer border-0\">\r\n      <BBSF-Paging (Items)=\"setListResult($event)\" *ngIf=\"isFilterLoaded\" [options]=\"pagingOptions\" [group]=\"form\" #pagingElement> </BBSF-Paging>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- #endregion -->\r\n\r\n<lib-add-organization [pagingElement]=\"pagingElement\" #addOrganizationModal></lib-add-organization>\r\n<lib-edit-organization [pagingElement]=\"pagingElement\" #editOrganizationModal></lib-edit-organization>\r\n<BBSF-ConfirmationModal\r\n  *ngIf=\"deleteControlLoaded\"\r\n  [options]=\"deleteConfirmationOptions\"\r\n  id=\"confirmationModalControl\"\r\n  #confirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n  <BBSF-ConfirmationModal\r\n  *ngIf=\"activateControlLoaded\"\r\n  [options]=\"activateConfirmationOptions\"\r\n  id=\"activateConfirmationModalControl\"\r\n  #activateConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { OrganizationComponent } from './organization.component';\r\nimport { ListOrganizationComponent } from './list-organization';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: OrganizationComponent,\r\n    children: [\r\n      {\r\n        path: \"list\",\r\n        component: ListOrganizationComponent\r\n      },\r\n      {\r\n        path: \"\",\r\n        redirectTo: 'list',\r\n        pathMatch: 'full'\r\n      }\r\n    ]\r\n  }\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class OrganizationRoutingModule { }\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthModule } from '../core/auth.module';\r\nimport { SubheaderModule } from '../_layout/components/subheader/subheader.module';\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { EmptyDataModule } from '../empty-data/empty-data.module';\r\nimport { AuthService, BBSFTranslateService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { OrganizationRoutingModule } from './organization.routing';\r\nimport { OrganizationService } from '../shared/Services/organization.service';\r\nimport { AddOrganizationComponent, EditOrganizationComponent, ListOrganizationComponent, OrganizationComponent } from '.';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [OrganizationComponent, ListOrganizationComponent, EditOrganizationComponent, AddOrganizationComponent],\r\n  imports: [\r\n    OrganizationRoutingModule,\r\n    CommonModule,\r\n    RouterModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    ClipboardModule,\r\n    BlockUIModule.forRoot(),\r\n    FormsModule,\r\n    BBSFControlsModule,\r\n    SubheaderModule,\r\n    MatMenuModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    EmptyDataModule\r\n  ],\r\n  providers: [\r\n    EnvironmentService,\r\n    UtilityService,\r\n    AuthService,\r\n    BBSFTranslateService,\r\n    OrganizationService\r\n  ],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class OrganizationModule { }\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Routes } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../config/environment';\r\nimport { InjectedModule } from '../models/InjectedModuleModel/InjectedModule';\r\n\r\n\r\nimport { HomeModule } from '../../home/home.module';\r\n\r\nimport { LocalizationsModule } from '../../localizations/localizations.module';\r\n\r\n\r\nimport { RolesModule } from '../../roles/roles.module';\r\n\r\n\r\nimport { NotificationsModule } from '../../notifications/notifications.module';\r\n\r\nimport { LookupsModule } from '../../lookups/lookups.module';\r\n\r\nimport { DepartmentsModule } from '../../departments/departments.module';\r\n\r\nimport { SectorsModule } from '../../sectors/sectors.module';\r\n\r\nimport { ConfigurationsModule } from '../../configurations/configurations.module';\r\n\r\n\r\nimport { ImpersonationRulesModule } from '../../impersonation-rules/impersonation-rules.module';\r\n\r\nimport { JobsModule } from '../../jobs/jobs.module';\r\n\r\n\r\nimport { LicenseModule } from '../../license/license.module';\r\n\r\n\r\nimport { WorkflowsModule } from '../../workflows/workflows.module';\r\n\r\n\r\nimport { PublicHolidaysModule } from '../../publicHolidays/public-holidays.module';\r\n\r\nimport { HelpCenterModule } from '../../helpCenter/help-center.module';\r\n\r\nimport { LogsModule } from '../../logs/logs.module';\r\nimport { ProvidersModule } from '../../providers/providers.module';\r\nimport { AuthenticationModule } from '../../authentication/authentication.module';\r\nimport { UsersModule } from '../../users/users.module';\r\nimport { ActiveDirectoryModule } from '../../ActiveDirectories/active-directory.module';\r\nimport { DocumentsModule } from '../../documents/documents.module';\r\nimport { OrganizationModule } from '../../organization/organization.module';\r\n\r\n\r\n@Injectable()\r\nexport class injectionModuleService {\r\n\r\n\r\n  static InjectedModules: InjectedModule[] = [];\r\n\r\n  static routesArray: Routes =\r\n    [\r\n      {\r\n        path: '',\r\n        redirectTo: 'Home',\r\n        pathMatch: 'full'\r\n      },\r\n      {\r\n        path: 'authentication',\r\n        loadChildren: injectionModuleService.getAuthenticationModule\r\n      },\r\n      {\r\n        path: 'Home',\r\n        loadChildren: injectionModuleService.getHomeModule\r\n      },\r\n      {\r\n        path: 'Users',\r\n        loadChildren: injectionModuleService.getUsersModule\r\n      },\r\n      {\r\n        path: 'Localization',\r\n        loadChildren: injectionModuleService.getLocalizationsModule\r\n      },\r\n      {\r\n        path: 'Roles',\r\n        loadChildren: injectionModuleService.getRolesModule\r\n      },\r\n      {\r\n        path: 'Notifications',\r\n        loadChildren: injectionModuleService.getNotificationsModule\r\n      },\r\n      {\r\n        path: 'Documents',\r\n        loadChildren: injectionModuleService.getDocumentsModule\r\n      },\r\n      {\r\n        path: 'Lookups',\r\n        loadChildren: injectionModuleService.getLookupsModule\r\n      },\r\n      {\r\n        path: 'Departments',\r\n        loadChildren: injectionModuleService.getDepartmentsModule\r\n      },\r\n      {\r\n        path: 'Sectors',\r\n        loadChildren: injectionModuleService.getSectorsModule\r\n      },\r\n      {\r\n        path: 'Configurations',\r\n        loadChildren: injectionModuleService.getConfigurationsModule\r\n      },\r\n      {\r\n        path: 'ImpersonationRules',\r\n        loadChildren: injectionModuleService.getImpersonationRulesModule\r\n      },\r\n      {\r\n        path: 'Jobs',\r\n        loadChildren: injectionModuleService.getJobsModule\r\n      },\r\n      {\r\n        path: 'License',\r\n        loadChildren: injectionModuleService.getLicenseModule\r\n      },\r\n      {\r\n        path: 'Workflows',\r\n        loadChildren: injectionModuleService.getWorkflowsModule\r\n      },\r\n      {\r\n        path: 'PublicHolidays',\r\n        loadChildren: injectionModuleService.getPublicHolidaysModule\r\n      },\r\n      {\r\n        path: 'HelpCenter',\r\n        loadChildren: injectionModuleService.getHelpCenterModule\r\n      },\r\n      {\r\n        path: 'Logs',\r\n        loadChildren: injectionModuleService.getLogsModule\r\n      },\r\n      {\r\n        path: 'Providers',\r\n        loadChildren: injectionModuleService.getProvidersModule\r\n      },\r\n      {\r\n        path: 'ADConnection',\r\n        loadChildren: injectionModuleService.getActiveDirectoryModule\r\n      },\r\n      {\r\n        path: 'organization',\r\n        loadChildren: injectionModuleService.getOrganizationModule\r\n      }\r\n    ];\r\n\r\n  static injectNewModules(InjectedModules: InjectedModule[]) {\r\n    injectionModuleService.InjectedModules = InjectedModules;\r\n    for (let index = 0; index < injectionModuleService.InjectedModules.length; index++) {\r\n      const InjectedModule = injectionModuleService.InjectedModules[index];\r\n      injectionModuleService.routesArray.push({ path: InjectedModule.routeName, loadChildren: InjectedModule.module });\r\n    }\r\n  }\r\n\r\n  static getProvidersModule() {\r\n    return ProvidersModule;\r\n  }\r\n\r\n\r\n  static getAuthenticationModule() {\r\n    return AuthenticationModule;\r\n  }\r\n\r\n  static getLogsModule() {\r\n    return LogsModule;\r\n  }\r\n\r\n  static getHelpCenterModule() {\r\n    return HelpCenterModule;\r\n  }\r\n\r\n  static getPublicHolidaysModule() {\r\n    return PublicHolidaysModule;\r\n  }\r\n  static getWorkflowsModule() {\r\n    return WorkflowsModule;\r\n  }\r\n  static getLicenseModule() {\r\n    return LicenseModule;\r\n  }\r\n  static getJobsModule() {\r\n    return JobsModule;\r\n  }\r\n  static getImpersonationRulesModule() {\r\n    return ImpersonationRulesModule;\r\n  }\r\n\r\n  static getHomeModule() {\r\n    return HomeModule;\r\n  }\r\n\r\n  static getUsersModule() {\r\n    return UsersModule;\r\n  }\r\n\r\n  static getLocalizationsModule() {\r\n    return LocalizationsModule;\r\n  }\r\n  static getRolesModule() {\r\n    return RolesModule;\r\n  }\r\n  static getNotificationsModule() {\r\n    return NotificationsModule;\r\n  }\r\n  static getDocumentsModule() {\r\n    return DocumentsModule;\r\n  }\r\n  static getLookupsModule() {\r\n    return LookupsModule;\r\n  }\r\n  static getDepartmentsModule() {\r\n    return DepartmentsModule;\r\n  }\r\n  static getSectorsModule() {\r\n    return SectorsModule;\r\n  }\r\n  static getConfigurationsModule() {\r\n    return ConfigurationsModule;\r\n  }\r\n  static getActiveDirectoryModule() {\r\n    return ActiveDirectoryModule;\r\n  }\r\n  static getOrganizationModule() {\r\n    return OrganizationModule;\r\n  }\r\n}\r\n","import { Injector, NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslationResolverService } from '@bnsights/bbsf-utilities';\r\nimport { MasterlayoutComponent } from './masterlayout.component';\r\nimport { AdminGuard } from './Pages/core/authentication/admin.guard';\r\nimport { injectionModuleService } from './Pages/shared/Services/injectionModuleService.service';\r\n\r\nexport let AppInjector: Injector;\r\n@NgModule({\r\n\r\n  imports: [\r\n    RouterModule.forChild(\r\n      [\r\n        {\r\n          path: '',\r\n          resolve: [TranslationResolverService],\r\n          component: MasterlayoutComponent,\r\n          children: injectionModuleService.routesArray,\r\n          canActivate: [AdminGuard],\r\n        }\r\n      ]\r\n    ),\r\n\r\n  ],\r\n  exports: [RouterModule],\r\n  providers: []\r\n\r\n\r\n\r\n})\r\n//@dynamic\r\nexport class MasterlayoutRoutingModule {\r\n  static components = [MasterlayoutComponent];\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-filter',\r\n    templateUrl: './filter.component.html',\r\n    standalone: false\r\n})\r\nexport class FilterComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<p>filter works!</p>\r\n","import { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AuthService, AuthenticationModes, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Component({\r\n  selector: 'app-login',\r\n  templateUrl: './login.component.html',\r\n  standalone: false\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n  isEnglish: boolean;\r\n  loginForm = new FormGroup({});\r\n  loginFormOptions = new FormOptions;\r\n  email: TextBoxOptions;\r\n  password: TextBoxOptions;\r\n  error: string;\r\n  language: string;\r\n  loginImage: string;\r\n  authenticationMode: string = undefined;\r\n  authenticationModeEnums = AuthenticationModes;\r\n  loadPage: boolean;\r\n  constructor(private authService: AuthService, private environmentService: EnvironmentService, private accountService: AccountService, private router: Router, private route: ActivatedRoute, public utilityService: UtilityService, private modalService: NgbModal) {\r\n  }\r\n\r\n\r\n  ngOnInit() {\r\n    // Check if user is already authenticated BEFORE doing anything\r\n    // This prevents login form initialization from conflicting with post-refresh navigation\r\n    if (this.authService.isAuthenticated()) {\r\n      this.router.navigate([this.authService.getUrl()]);\r\n      return; // Don't initialize login form\r\n    }\r\n\r\n    let body = document.getElementsByTagName(\"body\")[0];\r\n    if (body) {\r\n      body.removeAttribute(\"class\");\r\n      body.removeAttribute(\"style\");\r\n      body.removeAttribute(\"id\");\r\n    }\r\n    this.utilityService.stopBlockUI();\r\n    this.modalService.dismissAll();\r\n    this.authenticationMode = this.environmentService.getBBSFAuthenticationMode();\r\n\r\n    if (this.environmentService.getIsEnableWindowsAuthentication()) {\r\n      this.accountService.loginWithWindowsAuthentication().subscribe(async (res) => {\r\n        let result = res as any;\r\n        this.utilityService.stopBlockUI();\r\n        await this.authService.handleAccessToken(result.val);\r\n        this.router.navigate([this.authService.getUrl()]);\r\n      });\r\n    }\r\n    else {\r\n      if (this.authenticationMode == this.authenticationModeEnums.UAEPass) {\r\n        this.language = this.utilityService.getCurrentLanguage();\r\n        this.loginImage = this.language == 'ar' ? `/../../../assets/images/uaepassar.svg` : `/../../../assets/images/uaepassen.svg`;\r\n      }\r\n\r\n      else if (this.authenticationMode == this.authenticationModeEnums.Forms) {\r\n        this.loginForm = new FormGroup({});\r\n        this.loginFormOptions = new FormOptions();\r\n        this.loginFormOptions.formGroup = this.loginForm;\r\n        this.loginFormOptions.getModelFunction = this.getLoginModel;\r\n        this.loginFormOptions.serviceSubmitFunction = this.getLoginFunction;\r\n        this.loginFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n        this.loginFormOptions.onErrorHandler = this.OnErrorHandler;\r\n        this.loginFormOptions.disableSuccessNotification = true;\r\n        this.loginFormOptions.disableErrorNotification = true;\r\n\r\n        this.email = new TextBoxOptions();\r\n        this.email.name = \"email\";\r\n        this.email.labelKey = \"Email\";\r\n        this.email.type = InputType.Email;\r\n        this.email.isRequired = true;\r\n\r\n        this.password = new TextBoxOptions();\r\n        this.password.name = \"password\";\r\n        this.password.labelKey = \"Password\";\r\n        this.password.type = InputType.Password;\r\n        this.password.isRequired = true;\r\n      }\r\n    }\r\n    this.loadPage = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  getLoginModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.loginForm.value as any;\r\n    let RestModel = {\r\n      Username: ResultModel.email,\r\n      Password: ResultModel.password\r\n    };\r\n    paramArray.push(RestModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getLoginFunction = (model): Observable<any> => {\r\n    return this.accountService.login(model);\r\n  };\r\n  onSuccessHandler = async (result) => {\r\n    if (result.redirectURL) {\r\n      this.router.navigate([result.redirectURL]);\r\n    }\r\n\r\n    await this.authService.handleAccessToken(result.val);\r\n    this.router.navigate([this.authService.getUrl()]);\r\n  };\r\n  OnErrorHandler = (error: HttpErrorResponse) => {\r\n    if (error.status == 500)\r\n      this.error = this.utilityService.getResourceValue(\"UnexpectedError\");\r\n    else {\r\n      this.error = error.error.Message;\r\n    }\r\n  };\r\n  loginWithUAEPass() {\r\n    this.authService.loginWithUAEPass();\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\" *ngIf=\"loadPage\">\r\n  <input type=\"hidden\" name=\"ReturnUrl\" value=\"@Model.ReturnUrl\" />\r\n  <div class=\"text-center mb-10\" *ngIf=\"authenticationMode != authenticationModeEnums.UAEPass\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Login\")}} </h1>\r\n  </div>\r\n  <div class=\"text-center\" *ngIf=\"authenticationMode == authenticationModeEnums.UAEPass\">\r\n    <img [src]=\"loginImage\" (click)=\"loginWithUAEPass()\" />\r\n  </div>\r\n  <BBSF-Form [options]=\"loginFormOptions\" *ngIf=\"authenticationMode == authenticationModeEnums.Forms\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"email\" [group]=\"loginForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"password\" [group]=\"loginForm\"></BBSF-TextBox>\r\n      <div class=\"text-right\">\r\n        <a href=\"/Admin/account/forgotPassword\" class=\"link-primary fs-6 fw-bolder mt-2\">{{utilityService.getResourceValue(\"ForgotPassword\")}}</a>\r\n      </div>\r\n    </div>\r\n    <div class=\"fv-row mb-10\" *ngIf=\"error\">\r\n      <span class=\"text-danger\">\r\n        {{error}}\r\n      </span>\r\n    </div>\r\n\r\n    <div class=\"text-center\">\r\n      <button type=\"submit\" class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"Login\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n</div>","import { HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService, MasterLayoutService, RequestHandlerService, StylesBundleService } from \"@bnsights/bbsf-utilities\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AccountService } from \"./AccountService.service\";\r\n\r\n\r\n@Injectable()\r\nexport class AnonymousLayoutService {\r\n    constructor(private accountService: AccountService, private router: Router, private http: RequestHandlerService, private authService: AuthService, private stylesBundleService: StylesBundleService, private translate: TranslateService) {\r\n    }\r\n    switchAnonymousLayoutLanguage(lang: string, bundleEnglishName: string, bundleArabicName: string, theme: string = \"\") {\r\n        this.accountService.UpdateLanguageCookieAnonymous(lang).subscribe((res) => {\r\n            this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);\r\n            localStorage.setItem('language', lang);\r\n            this.translate.use(lang);\r\n        });\r\n\r\n    }\r\n}","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { AppearanceConfigurationService, AuthService, BBSFTranslateService, EnvironmentService, MasterLayoutService, StylesBundleService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { AnonymousLayoutService } from '../shared/Services/AnonymousLayoutService.service';\r\n\r\n@Component({\r\n    selector: 'app-account',\r\n    templateUrl: './anonymouslayout.component.html',\r\n    standalone: false\r\n})\r\nexport class anonymouslayoutComponent implements OnInit {\r\n  lang: string = \"\";\r\n  logo: string = \"\";\r\n  footer: string = \"\";\r\n  appVersion: string = \"\";\r\n  isExternal: boolean = false;\r\n  @BlockUI() blockUI: NgBlockUI;\r\n  constructor(\r\n    private utilityService: UtilityService,\r\n    private authService: AuthService,\r\n    private router: Router,\r\n    private stylesBundleService: StylesBundleService,\r\n    private environmentService: EnvironmentService,\r\n    private anonymousLayoutService: AnonymousLayoutService,\r\n    private translateService: BBSFTranslateService,\r\n    private masterLayoutService: MasterLayoutService,\r\n    private appearanceConfigurationService: AppearanceConfigurationService\r\n  ) {\r\n    this.translateService.use(this.utilityService.getCurrentLanguage());\r\n    this.loadUI();\r\n    this.utilityService.startBlockUI();\r\n  }\r\n\r\n  ngOnInit() {\r\n    if (this.authService.isAuthenticated()) {\r\n      this.router.navigate(['/']);\r\n    }\r\n    else {\r\n      this.isExternal = this.environmentService.getIsIdentityServerExternal()?.toLowerCase() == 'true';\r\n      this.translateService.onLangChange.subscribe((event) => {\r\n        this.masterLayoutService.reloadComponent();\r\n      });\r\n      var appVersionElement = document.getElementsByName(\"AppVersion\")[0];\r\n      if (appVersionElement)\r\n        this.appVersion = \"V \" + appVersionElement.getAttribute('content');\r\n      let theme = this.appearanceConfigurationService.getLayoutTheme();\r\n      this.stylesBundleService.loadThemesColor(theme, \"BBSF-Anonymous.css\", \"BBSF-Anonymous-light.css\");\r\n      this.logo = this.appearanceConfigurationService.getLogo();\r\n      this.footer = this.appearanceConfigurationService.getFooterText();\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  loadUI() {\r\n    this.lang = this.utilityService.getCurrentLanguage();\r\n    this.stylesBundleService.loadThemes(this.lang, \"BBSF-Anonymous.css\", \"BBSF-Anonymous-RTL.css\");\r\n  }\r\n\r\n  changeLanguage(langKey: string) {\r\n    this.lang = langKey;\r\n    this.anonymousLayoutService.switchAnonymousLayoutLanguage(langKey, \"BBSF-Anonymous.css\", \"BBSF-Anonymous-RTL.css\");\r\n  }\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n<block-ui></block-ui>\r\n<div class=\"d-flex flex-column flex-root h-100\" *ngIf=\"isExternal\">\r\n  <router-outlet></router-outlet>\r\n</div>\r\n<div class=\"d-flex flex-column flex-root h-100\" *ngIf=\"!isExternal\">\r\n  <!--begin::Authentication - Sign-in -->\r\n  <div class=\"d-flex flex-column flex-lg-row flex-column-fluid h-100\">\r\n    <!--begin::Aside-->\r\n    <div class=\"d-flex flex-column flex-lg-row-auto w-xl-600px positon-xl-relative bg-custom\">\r\n      <div class=\"d-flex flex-column position-xl-fixed top-0 bottom-0 w-xl-600px scroll-y\">\r\n        <div class=\"d-flex flex-row-fluid flex-column text-center p-10 pt-lg-20\">\r\n          <!--begin::Logo-->\r\n          <img alt=\"Logo\" src=\"{{logo}}\" class=\"h-60px mt-10\">\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <!--end::Aside-->\r\n    <div class=\"d-flex flex-column flex-lg-row-fluid py-10\">\r\n      <div class=\"d-flex flex-center flex-column flex-column-fluid\">\r\n        <div class=\"w-lg-500px p-10 p-lg-15 mx-auto w-100\">\r\n          <router-outlet></router-outlet>\r\n        </div>\r\n      </div>\r\n      <!--begin::Footer-->\r\n      <div class=\"d-flex flex-center fw-bold fs-6 justify-content-between w-100 px-10\">\r\n        <div>\r\n          <span class=\"text-muted\">{{footer}} </span>\r\n          <span>{{appVersion}} </span>\r\n        </div>\r\n\r\n        <a class=\"text-muted text-hover-primary px-2\" *ngIf=\"lang!='en'\" (click)=\"changeLanguage('en')\">English</a>\r\n        <a class=\"text-muted text-hover-primary px-2\" *ngIf=\"lang=='en'\" (click)=\"changeLanguage('ar')\">العربيه</a>\r\n\r\n      </div>\r\n      <!--end::Footer-->\r\n    </div>\r\n  </div>\r\n</div>\r\n","export class ActivationModel\r\n{\r\n     Token:string\r\n     IsValid:boolean\r\n     Username:string\r\n     UserID:number\r\n     LangKey:string\r\n     Password:string\r\n     PasswordConfirmation:string\r\n     ValidationError:string\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CustomValidation, FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivationModel } from '../../shared/models/UserModels/ActivationModel';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\nimport { AnonymousLayoutService } from '../../shared/Services/AnonymousLayoutService.service';\r\n\r\n@Component({\r\n    selector: 'lib-activation',\r\n    templateUrl: './activation.component.html',\r\n    standalone: false\r\n})\r\nexport class ActivationComponent implements OnInit {\r\n\r\n  //Page  data\r\n  Token: string;\r\n  ActivationModel: ActivationModel = new ActivationModel();\r\n  ErrorMessage: string = null;\r\n  UserName: string = \"\";\r\n\r\n\r\n  //activate Model Controls\r\n  activateForm = new FormGroup({});\r\n  activateFormOptions = new FormOptions;\r\n  password: TextBoxOptions;\r\n  confirmPassword: TextBoxOptions;\r\n  customValidation: CustomValidation = new CustomValidation();\r\n  isModelLoaded: boolean = false;\r\n\r\n\r\n  constructor\r\n    (\r\n      private activatedRoute: ActivatedRoute,\r\n      private accountService: AccountService,\r\n      public utilityService: UtilityService,\r\n      private router: Router,\r\n    ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.Token = params['id'];\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n\r\n    this.accountService.getActivation(this.Token).subscribe((result) => {\r\n      let model = result as any;\r\n      this.UserName = model.username;\r\n      if (model.isValid) {\r\n        this.activateForm = new FormGroup({});\r\n\r\n        this.activateFormOptions = new FormOptions();\r\n        this.activateFormOptions.formGroup = this.activateForm;\r\n        this.activateFormOptions.getModelFunction = this.getActivateModel;\r\n        this.activateFormOptions.serviceSubmitFunction = this.getActivateFunction;\r\n        this.activateFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n\r\n\r\n        this.password = new TextBoxOptions();\r\n        this.password.name = \"password\";\r\n        this.password.labelKey = \"Password\";\r\n        this.password.type = InputType.Password;\r\n        this.password.isRequired = true;\r\n\r\n        this.customValidation.functionBody = (control) => {\r\n          let Password = this.activateForm.controls[\"password\"].value;\r\n          if (control.value != Password)\r\n            return { 'customerError': true };\r\n          return null;\r\n        };\r\n        this.customValidation.massage = this.utilityService.getResourceValue(\"PasswordNotMatch\");\r\n\r\n        this.confirmPassword = new TextBoxOptions();\r\n        this.confirmPassword.name = \"confirmPassword\";\r\n        this.confirmPassword.labelKey = \"ConfirmPassword\";\r\n        this.confirmPassword.type = InputType.Password;\r\n        this.confirmPassword.isRequired = true;\r\n        this.confirmPassword.customValidation = [this.customValidation];\r\n\r\n\r\n      }\r\n      else\r\n        this.ErrorMessage = model.validationError;\r\n\r\n      this.isModelLoaded = true;\r\n    });\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getActivateModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.activateForm.value as any;\r\n    let RestModel: ActivationModel = new ActivationModel();\r\n    RestModel.Token = this.Token;\r\n    RestModel.Password = ResultModel.password;\r\n    RestModel.PasswordConfirmation = ResultModel.confirmPassword;\r\n    paramArray.push(RestModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getActivateFunction = (model): Observable<any> => {\r\n    return this.accountService.activate(model);\r\n  };\r\n  onSuccessHandler = (result) => {\r\n    if (result.val) {\r\n      this.utilityService.notifySuccessMessage();\r\n      this.router.navigate(['/Admin/account/login']);\r\n    }\r\n\r\n  };\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{UserName}} </h1>\r\n  </div>\r\n  <BBSF-Form [options]=\"activateFormOptions\" *ngIf=\"ErrorMessage==null &&isModelLoaded\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"password\" [group]=\"activateForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"confirmPassword\" [group]=\"activateForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <a href=\"/Admin/account/login\"\r\n      class=\"link-primary fs-6 fw-bolder d-flex justify-content-end mt-2\">\r\n     <i class=\"fas fa-arrow-left  text-light-primary me-2 anchor \"></i> {{utilityService.getResourceValue(\"Back\")}}\r\n   </a>\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\"\r\n              class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"Activate\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n  <div *ngIf=\"ErrorMessage!=null\">\r\n    <ul class=\"alert alert-InvalidValidation bg-light-danger list-unstyled\">\r\n      <li>\r\n        {{ErrorMessage}}\r\n      </li>\r\n    </ul>\r\n  </div>\r\n</div>\r\n<!--end::Form-->\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ForgotPasswordModel } from '../../shared/models/AccountModels/forgotPasswordModel';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\n\r\n@Component({\r\n    selector: 'lib-forgot-password',\r\n    templateUrl: './forgot-password.component.html',\r\n    standalone: false\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n  //Forgot Model Controls\r\n  forgotForm = new FormGroup({});\r\n  forgotFormOptions = new FormOptions;\r\n  email: TextBoxOptions;\r\n  constructor(\r\n    public utilityService: UtilityService,\r\n    private accountService: AccountService,\r\n    private router: Router,\r\n\r\n  ) { }\r\n\r\n  ngOnInit(): void {\r\n\r\n    this.forgotForm = new FormGroup({});\r\n\r\n    this.forgotFormOptions = new FormOptions();\r\n    this.forgotFormOptions.formGroup = this.forgotForm;\r\n    this.forgotFormOptions.getModelFunction = this.getForgotModel;\r\n    this.forgotFormOptions.serviceSubmitFunction = this.getForgotFunction;\r\n    this.forgotFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n    this.forgotFormOptions.onErrorHandler = this.onErrorHandler;\r\n\r\n\r\n    this.email = new TextBoxOptions();\r\n    this.email.value = null;\r\n    this.email.name = \"Email\";\r\n    this.email.labelKey = \"Email\";\r\n    this.email.type = InputType.Email;\r\n    this.email.isRequired = true;\r\n\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getForgotModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.forgotForm.value as any;\r\n    paramArray.push(ResultModel.Email);\r\n    return paramArray;\r\n  };\r\n\r\n  getForgotFunction = (email): Observable<any> => {\r\n    return this.accountService.forgotPassword(email);\r\n  };\r\n\r\n  onSuccessHandler = (result) => {\r\n    this.utilityService.notifySuccessMessage();\r\n    this.router.navigate(['/Admin/account/login']);\r\n  };\r\n\r\n  onErrorHandler = (error) => {\r\n    this.utilityService.notifyErrorMessage(error.error.message);\r\n    this.utilityService.stopBlockUI();\r\n  };\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <input type=\"hidden\" name=\"ReturnUrl\" value=\"@Model.ReturnUrl\" />\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"ForgotPassword\")}} ?</h1>\r\n  </div>\r\n  <BBSF-Form [options]=\"forgotFormOptions\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"email\" [group]=\"forgotForm\"></BBSF-TextBox>\r\n      <div class=\"text-right\">\r\n        <a href=\"/Admin/account/login\" class=\"link-primary fs-6 fw-bolder mt-2\">{{utilityService.getResourceValue(\"Back\")}}  </a>\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"RestPassword\")}}</button>\r\n    </div>\r\n  </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CustomValidation, FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivationModel } from '../../shared/models/UserModels/ActivationModel';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\n\r\n@Component({\r\n    selector: 'lib-rest-password',\r\n    templateUrl: './rest-password.component.html',\r\n    standalone: false\r\n})\r\nexport class RestPasswordComponent implements OnInit {\r\n\r\n  //Page  data\r\n  Token: string;\r\n  ActivationModel: ActivationModel = new ActivationModel();\r\n  ErrorMessage: string = null;\r\n\r\n\r\n  //rest Model Controls\r\n  restForm = new FormGroup({});\r\n  restFormOptions = new FormOptions;\r\n  password: TextBoxOptions;\r\n  confirmPassword: TextBoxOptions;\r\n  customValidation: CustomValidation = new CustomValidation();\r\n  isModelLoaded: boolean = false;\r\n\r\n\r\n  constructor\r\n    (\r\n      private activatedRoute: ActivatedRoute,\r\n      private accountService: AccountService,\r\n      public utilityService: UtilityService,\r\n      private router: Router,\r\n    ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.Token = params['id'];\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n\r\n\r\n    this.accountService.getResetPassword(this.Token).subscribe((result) => {\r\n      let model = result as any;\r\n      if (model.isValid) {\r\n        this.restForm = new FormGroup({});\r\n\r\n        this.restFormOptions = new FormOptions();\r\n        this.restFormOptions.formGroup = this.restForm;\r\n        this.restFormOptions.getModelFunction = this.getRestModel;\r\n        this.restFormOptions.serviceSubmitFunction = this.getRestFunction;\r\n        this.restFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n\r\n\r\n        this.password = new TextBoxOptions();\r\n        this.password.name = \"password\";\r\n        this.password.labelKey = \"Password\";\r\n        this.password.type = InputType.Password;\r\n        this.password.isRequired = true;\r\n\r\n        this.customValidation.functionBody = (control) => {\r\n          let Password = this.restForm.controls[\"password\"].value;\r\n          if (control.value != Password)\r\n            return { 'customerError': true };\r\n          return null;\r\n        };\r\n        this.customValidation.massage = this.utilityService.getResourceValue(\"PasswordNotMatch\");\r\n\r\n        this.confirmPassword = new TextBoxOptions();\r\n        this.confirmPassword.name = \"confirmPassword\";\r\n        this.confirmPassword.labelKey = \"ConfirmPassword\";\r\n        this.confirmPassword.type = InputType.Password;\r\n        this.confirmPassword.isRequired = true;\r\n        this.confirmPassword.customValidation = [this.customValidation];\r\n\r\n\r\n      }\r\n      else\r\n        this.ErrorMessage = model.validationError;\r\n\r\n      this.isModelLoaded = true;\r\n    });\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getRestModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.restForm.value as any;\r\n    let RestModel: ActivationModel = new ActivationModel();\r\n    RestModel.Token = this.Token;\r\n    RestModel.Password = ResultModel.password;\r\n    RestModel.PasswordConfirmation = ResultModel.confirmPassword;\r\n    paramArray.push(RestModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getRestFunction = (model): Observable<any> => {\r\n    return this.accountService.resetPassword(model);\r\n  };\r\n  onSuccessHandler = (result) => {\r\n    if (result.val) {\r\n      this.utilityService.notifySuccessMessage();\r\n      this.router.navigate(['/Admin/account/login']);\r\n    }\r\n  };\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"RestPassword\")}} ?</h1>\r\n  </div>\r\n  <BBSF-Form [options]=\"restFormOptions\" *ngIf=\"ErrorMessage==null &&isModelLoaded\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"password\" [group]=\"restForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"confirmPassword\" [group]=\"restForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <a href=\"/Admin/account/login\"\r\n       class=\"link-primary fs-6 fw-bolder d-flex justify-content-end mt-2\">\r\n      <i class=\"fas fa-arrow-left anchor text-light-primary me-2 anchor \"></i> {{utilityService.getResourceValue(\"Back\")}}\r\n    </a>\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\"\r\n              class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"SetPassword\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n  <div *ngIf=\"ErrorMessage!=null\">\r\n    <ul class=\"alert alert-InvalidValidation bg-light-danger list-unstyled\">\r\n      <li>\r\n        {{ErrorMessage}}\r\n      </li>\r\n    </ul>\r\n    \r\n\r\n  </div>\r\n</div>\r\n<!--end::Form-->\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { FileType, FileUploadOptions, FormOptions } from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { LicenseModel } from '../../shared/models/LicenseModel/LicenseModel';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\n\r\n@Component({\r\n  selector: 'lib-upload-license',\r\n  templateUrl: './upload-license.component.html',\r\n  styleUrls: ['./upload-license.component.scss'],\r\n  standalone: false\r\n})\r\nexport class UploadLicenseComponent implements OnInit {\r\n\r\n  //Page  data\r\n  ErrorMessage: string = null;\r\n\r\n  //Upload Model Controls\r\n  uploadFileForm = new FormGroup({});\r\n  uploadFileFormOptions: FormOptions;\r\n  licenseFileInput: FileUploadOptions;\r\n\r\n\r\n  constructor\r\n    (\r\n      private accountService: AccountService,\r\n      public utilityService: UtilityService,\r\n      private router: Router,\r\n    ) { }\r\n\r\n  ngOnInit(): void {\r\n    this.uploadFileForm = new FormGroup({});\r\n    this.uploadFileForm.reset();\r\n\r\n    this.uploadFileFormOptions = new FormOptions();\r\n    this.uploadFileFormOptions.formGroup = this.uploadFileForm;\r\n    this.uploadFileFormOptions.getModelFunction = this.getAddLicenseModel;\r\n    this.uploadFileFormOptions.serviceSubmitFunction = this.getAddLicenseFunction;\r\n    this.uploadFileFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n    this.uploadFileFormOptions.onErrorHandler = this.onErrorHandler;\r\n\r\n    this.licenseFileInput = new FileUploadOptions();\r\n    this.licenseFileInput.name = \"LicenseFileInput\";\r\n    this.licenseFileInput.labelKey = \"UploadFile\";\r\n    this.licenseFileInput.isMultipleFile = false;\r\n    this.licenseFileInput.isRequired = true;\r\n    this.licenseFileInput.fileUploadAcceptsTypes = [FileType.License];\r\n\r\n    this.utilityService.stopBlockUI();\r\n\r\n  }\r\n\r\n  getAddLicenseModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.uploadFileForm.value;\r\n    let Model = new LicenseModel();\r\n\r\n    Model.LicenseFile = {\r\n      fileBase64: ResultModel[this.licenseFileInput.name].file.fileBase64,\r\n      fileName: ResultModel[this.licenseFileInput.name].file.fileName,\r\n      fileSizeInMB: ResultModel[this.licenseFileInput.name].file.fileSizeInMB,\r\n      fileType: ResultModel[this.licenseFileInput.name].file.fileType,\r\n      isNew: true\r\n    };\r\n    paramArray.push(Model);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddLicenseFunction = (Model): Observable<any> => {\r\n    return this.accountService.uploadLicense(Model);\r\n  };\r\n\r\n  onSuccessHandler = (result) => {\r\n    if (result.val) {\r\n      this.utilityService.notifySuccessMessage();\r\n      this.router.navigate(['/Admin/account/login']);\r\n    }\r\n  };\r\n\r\n  onErrorHandler = (err) => {\r\n    this.ErrorMessage = `An error occurred: ${err.error}`;\r\n  };\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"UploadLicense\")}} ?</h1>\r\n  </div>\r\n\r\n  <BBSF-Form [options]=\"uploadFileFormOptions\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-FileUpload [options]=\"licenseFileInput\" [group]=\"uploadFileForm\">\r\n      </BBSF-FileUpload>\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\" class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"Upload\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n  <div *ngIf=\"ErrorMessage!=null\">\r\n    <ul class=\"alert alert-InvalidValidation bg-light-danger list-unstyled\">\r\n      <li>\r\n        {{ErrorMessage}}\r\n      </li>\r\n    </ul>\r\n    <a href=\"/Admin/account/login\" class=\"link-primary fs-6 fw-bolder d-flex justify-content-end mt-2\">\r\n      <i class=\"fas fa-arrow-left text-light-primary me-2 anchor \"></i> {{utilityService.getResourceValue(\"Back\")}}\r\n    </a>\r\n\r\n  </div>\r\n</div>\r\n<!--end::Form-->","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AuthService, EnvironmentService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\n\r\n@Component({\r\n    selector: 'lib-error',\r\n    templateUrl: './error.component.html',\r\n    standalone: false\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n\r\n  errorForm = new FormGroup({});\r\n  errorKey: TextBoxOptions;\r\n  errorMessage: string;\r\n  key: string;\r\n  isExternal: boolean;\r\n  constructor(\r\n    public utilityService: UtilityService,\r\n    private activatedRoute: ActivatedRoute,\r\n    private _clipboardService: ClipboardService,\r\n    private authService: AuthService,\r\n    private environmentService: EnvironmentService\r\n\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.key = params['key'];\r\n      this.errorMessage = params['error'];\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.isExternal = this.environmentService.getIsIdentityServerExternal().toLowerCase() == 'true';\r\n\r\n    this.errorForm = new FormGroup({});\r\n\r\n    this.errorKey = new TextBoxOptions();\r\n    this.errorKey.value = this.key;\r\n    this.errorKey.name = \"errorKey\";\r\n    this.errorKey.type = InputType.Text;\r\n    this.errorKey.isRequired = true;\r\n    this.errorKey.hideLabel = true;\r\n\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n\r\n  copyInputMessage() {\r\n    this._clipboardService.copy(this.key);\r\n  }\r\n  async logout() {\r\n    await this.authService.signOut();\r\n  }\r\n}\r\n","<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\"\r\n  *ngIf=\"!isExternal\">\r\n  <input type=\"hidden\" name=\"ReturnUrl\" value=\"@Model.ReturnUrl\" />\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Error\")}}</h1>\r\n  </div>\r\n  <form [formGroup]=\"errorForm\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"errorKey\" [group]=\"errorForm\"></BBSF-TextBox>\r\n      <button type=\"button\" class=\"btn btn-primary btn-sm\"\r\n        (click)=\"copyInputMessage()\">\r\n        {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n      </button>\r\n    </div>\r\n    <div (click)=\"logout()\" class=\"link-primary fs-6 fw-bolder d-flex\r\n      justify-content-end mt-2\"><i\r\n        class=\"fas fa-arrow-left text-light-primary me-2 anchor\"></i>\r\n      {{utilityService.getResourceValue(\"BackToLoginPage\")}} </div>\r\n  </form>\r\n  <div *ngIf=\"errorMessage!=null\">\r\n    <ul class=\"alert alert-InvalidValidation bg-light-danger list-unstyled\">\r\n      <li>\r\n        {{errorMessage}}\r\n      </li>\r\n    </ul>\r\n\r\n  </div>\r\n\r\n</div>\r\n\r\n<div *ngIf=\"isExternal\" class=\"d-flex flex-column flex-root\" style=\"\r\n  background-color: #b68a3585;\r\n  background-image: linear-gradient(#b68a35, #e1c081);\r\n  \">\r\n\r\n  <div class=\"d-flex flex-column flex-center flex-column-fluid\">\r\n\r\n    <div class=\"d-flex flex-column flex-center text-center p-10\">\r\n\r\n      <div class=\"card card-flush w-lg-650px py-5 bg-white\">\r\n        <div class=\"card-body py-15 py-lg-20\">\r\n\r\n\r\n\r\n\r\n          <h1 class=\"fw-bolder text-gray-900 mb-4 text-dark\">{{utilityService.getResourceValue(\"Error\")}}</h1>\r\n          <div class=\"fs-6 fw-semibold text-gray-500 mb-10\">\r\n            {{errorMessage}}\r\n          </div>\r\n\r\n\r\n          <a (click)=\"logout()\" class=\"btn btn-sm btn-light-dark\"><span class=\"svg-icon\r\n              svg-icon-muted svg-icon-2\"><svg width=\"24\" height=\"24\"\r\n                viewBox=\"0 0 24 24\" fill=\"none\"\r\n                xmlns=\"http://www.w3.org/2000/svg\">\r\n                <path opacity=\"0.5\" d=\"M14.2657 11.4343L18.45 7.25C18.8642\r\n                  6.83579 18.8642 6.16421 18.45 5.75C18.0358 5.33579 17.3642\r\n                  5.33579 16.95 5.75L11.4071 11.2929C11.0166 11.6834 11.0166\r\n                  12.3166 11.4071 12.7071L16.95 18.25C17.3642 18.6642 18.0358\r\n                  18.6642 18.45 18.25C18.8642 17.8358 18.8642 17.1642 18.45\r\n                  16.75L14.2657 12.5657C13.9533 12.2533 13.9533 11.7467\r\n                  14.2657 11.4343Z\" fill=\"currentColor\"></path>\r\n                <path d=\"M8.2657 11.4343L12.45 7.25C12.8642 6.83579 12.8642\r\n                  6.16421 12.45 5.75C12.0358 5.33579 11.3642 5.33579 10.95\r\n                  5.75L5.40712 11.2929C5.01659 11.6834 5.01659 12.3166 5.40712\r\n                  12.7071L10.95 18.25C11.3642 18.6642 12.0358 18.6642 12.45\r\n                  18.25C12.8642 17.8358 12.8642 17.1642 12.45 16.75L8.2657\r\n                  12.5657C7.95328 12.2533 7.95328 11.7467 8.2657 11.4343Z\"\r\n                  fill=\"currentColor\"></path>\r\n              </svg>\r\n            </span> {{utilityService.getResourceValue(\"Back\")}} </a><div>\r\n\r\n          </div>\r\n\r\n\r\n\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n</div>\r\n","export class ChangePasswordModel {\r\n  token: string = \"\"\r\n  oldPassword: boolean\r\n  newPassword: string = \"\"\r\n  newPasswordConfirmation:string=\"\"\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CustomValidation, FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangePasswordModel } from '../../shared/models/AccountModels/changePasswordModel';\r\n\r\n@Component({\r\n    selector: 'lib-change-password',\r\n    templateUrl: './change-password.component.html',\r\n    standalone: false\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n  Token: string;\r\n  changePasswordForm = new FormGroup({});\r\n  changePasswordFormOptions = new FormOptions;\r\n  newPassword: TextBoxOptions;\r\n  newPasswordConfirmation: TextBoxOptions;\r\n  oldPassword: TextBoxOptions;\r\n  customValidation: CustomValidation = new CustomValidation();\r\n\r\n  constructor\r\n    (\r\n      private activatedRoute: ActivatedRoute,\r\n      private accountService: AccountService,\r\n      public utilityService: UtilityService,\r\n      private router: Router,\r\n    ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.Token = params['id'];\r\n    });\r\n  }\r\n  ngOnInit(): void {\r\n    this.changePasswordForm = new FormGroup({});\r\n\r\n    this.changePasswordFormOptions = new FormOptions();\r\n    this.changePasswordFormOptions.formGroup = this.changePasswordForm;\r\n    this.changePasswordFormOptions.getModelFunction = this.getChangePasswordModel;\r\n    this.changePasswordFormOptions.serviceSubmitFunction = this.getChangePasswordFunction;\r\n    this.changePasswordFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n\r\n    this.oldPassword = new TextBoxOptions();\r\n    this.oldPassword.name = \"oldPassword\";\r\n    this.oldPassword.labelKey = \"OldPassword\";\r\n    this.oldPassword.type = InputType.Password;\r\n    this.oldPassword.isRequired = true;\r\n\r\n    this.newPassword = new TextBoxOptions();\r\n    this.newPassword.name = \"newPassword\";\r\n    this.newPassword.labelKey = \"NewPassword\";\r\n    this.newPassword.type = InputType.Password;\r\n    this.newPassword.isRequired = true;\r\n\r\n    this.customValidation.functionBody = (control) => {\r\n      let Password = this.changePasswordForm.controls[\"newPassword\"].value;\r\n      if (control.value != Password)\r\n        return { 'customerError': true };\r\n      return null;\r\n    };\r\n    this.customValidation.massage = this.utilityService.getResourceValue(\"PasswordNotMatch\");\r\n\r\n    this.newPasswordConfirmation = new TextBoxOptions();\r\n    this.newPasswordConfirmation.name = \"newPasswordConfirmation\";\r\n    this.newPasswordConfirmation.labelKey = \"NewPasswordConfirmation\";\r\n    this.newPasswordConfirmation.type = InputType.Password;\r\n    this.newPasswordConfirmation.isRequired = true;\r\n    this.newPasswordConfirmation.customValidation = [this.customValidation];\r\n\r\n  }\r\n  getChangePasswordModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.changePasswordForm.value as any;\r\n    let model: ChangePasswordModel = new ChangePasswordModel();\r\n    model.token = this.Token;\r\n    model.oldPassword = ResultModel.oldPassword;\r\n    model.newPassword = ResultModel.newPassword;\r\n    model.newPasswordConfirmation = ResultModel.newPasswordConfirmation;\r\n\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n\r\n  getChangePasswordFunction = (model): Observable<any> => {\r\n    return this.accountService.changePassword(model);\r\n  };\r\n  onSuccessHandler = (result) => {\r\n    if (result.val) {\r\n      this.utilityService.notifySuccessMessage();\r\n      this.router.navigate(['/Admin/account/login']);\r\n    }\r\n  };\r\n\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"ChangePassword\")}}</h1>\r\n  </div>\r\n  <BBSF-Form [options]=\"changePasswordFormOptions\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"oldPassword\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"newPassword\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"newPasswordConfirmation\" [group]=\"changePasswordForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\"\r\n              class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"ChangePassword\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n","export class TwoFactorAuthenticationModel{\r\n    id:string;\r\n    code:string;\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AccountService } from '../../shared/Services/AccountService.service';\r\nimport { AuthService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TwoFactorAuthenticationModel } from '../../shared/models/AccountModels/twoFactorAuthenticationModel';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'lib-verify-two-fa',\r\n    templateUrl: './verify-two-fa.component.html',\r\n    standalone: false\r\n})\r\nexport class VerifyTwoFAComponent implements OnInit {\r\n  userID:string;\r\n  verify2FAForm = new FormGroup({});\r\n  verify2FAFormOptions = new FormOptions;\r\n  otpCode: TextBoxOptions;\r\n  duration: number = 60;\r\n  timeLeft: number;\r\n  interval: any;\r\n  timerOn: boolean = true;\r\n  timerCounter:number=1;\r\n  constructor\r\n  (\r\n    private activatedRoute: ActivatedRoute,\r\n    private accountService: AccountService,\r\n    public utilityService: UtilityService,\r\n    private router: Router,\r\n    private authService: AuthService\r\n  ) {\r\n    this.activatedRoute.params.subscribe(params => {\r\n      this.userID = params['id'];\r\n    });\r\n  }\r\n  ngOnInit(): void {\r\n    this.startTimer(this.duration);\r\n\r\n    this.verify2FAForm = new FormGroup({});\r\n\r\n    this.verify2FAFormOptions = new FormOptions();\r\n    this.verify2FAFormOptions.formGroup = this.verify2FAForm\r\n    this.verify2FAFormOptions.getModelFunction = this.getVerify2FAModel;\r\n    this.verify2FAFormOptions.serviceSubmitFunction = this.getVerify2FAFunction;\r\n    this.verify2FAFormOptions.onSuccessHandler = this.onSuccessHandler;\r\n\r\n    this.otpCode = new TextBoxOptions();\r\n    this.otpCode.name = \"otpCode\";\r\n    this.otpCode.labelKey = \"OtpCode\";\r\n    this.otpCode.type = InputType.Text;\r\n    this.otpCode.isRequired = true;\r\n    this.otpCode.maxLength=6;\r\n  }\r\n  ngOnDestroy(): void {\r\n    if (this.interval) {\r\n      clearInterval(this.interval);\r\n    }\r\n  }\r\n  getVerify2FAModel = () => {\r\n    let paramArray: any[] = [];\r\n    let ResultModel = this.verify2FAForm.value as any;\r\n    let model: TwoFactorAuthenticationModel = new TwoFactorAuthenticationModel();\r\n    model.id = this.userID\r\n    model.code = ResultModel.otpCode\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  }\r\n\r\n  getVerify2FAFunction = (model): Observable<any> => {\r\n    return this.accountService.verify2FA(model)\r\n  }\r\n  onSuccessHandler = async (result) => {\r\n    await this.authService.handleAccessToken(result.val);\r\n    this.router.navigate([this.authService.getUrl()]);\r\n  }\r\n  resendOTP(){\r\n    this.accountService.resendOTP(this.userID).subscribe((result)=>{\r\n      this.timerCounter++;\r\n    this.duration=this.duration*this.timerCounter\r\n      this.timerOn = true;\r\n      this.startTimer(this.duration);\r\n    })\r\n  }\r\n  get minutes(): string {\r\n    const m = Math.floor(this.timeLeft / 60);\r\n    return m < 10 ? '0' + m : m.toString();\r\n  }\r\n\r\n  get seconds(): string {\r\n    const s = this.timeLeft % 60;\r\n    return s < 10 ? '0' + s : s.toString();\r\n  }\r\n  startTimer(duration: number): void {\r\n    this.timeLeft = duration*this.timerCounter;\r\n    this.interval = setInterval(() => {\r\n      if (this.timeLeft > 0 && this.timerOn) {\r\n        this.timeLeft--;\r\n      } else {\r\n        this.clearTimer();\r\n      }\r\n    }, 1000);\r\n  }\r\n\r\n  clearTimer(): void {\r\n    if (this.interval) {\r\n      clearInterval(this.interval);\r\n    }\r\n  }\r\n}\r\n","<block-ui></block-ui>\r\n<div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n  <div class=\"text-center mb-10\">\r\n    <h1 class=\"text-dark mb-3\"> {{utilityService.getResourceValue(\"Verify2FA\")}}</h1>\r\n  </div>\r\n  <BBSF-Form [options]=\"verify2FAFormOptions\">\r\n    <div class=\"fv-row mb-10\">\r\n      <BBSF-TextBox [options]=\"otpCode\" [group]=\"verify2FAForm\"></BBSF-TextBox>\r\n    </div>\r\n    <div>\r\n        <div>\r\n            <div *ngIf=\"timeLeft > 0\" style=\"text-align: center; padding-bottom: 5px;\" >\r\n              <span id=\"timer\">{{ minutes }}:{{ seconds }}</span>\r\n            </div>\r\n            <a id=\"resendOTPBtn\" (click)=\"resendOTP()\" class=\"btn btn-link  btn-sm fs-6 fw-bolder mt-2\"  [class.disabled]=\"timeLeft > 0\">{{utilityService.getResourceValue(\"ResendOTP\")}}</a>\r\n          </div>\r\n    </div>\r\n    <div class=\"text-center\">\r\n      <!--begin::Submit button-->\r\n      <button type=\"submit\"\r\n              class=\"btn btn-primary btn-sm\">\r\n        {{utilityService.getResourceValue(\"Submit\")}}\r\n      </button>\r\n    </div>\r\n  </BBSF-Form>\r\n</div>\r\n<!--end::Form-->\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { anonymouslayoutComponent } from './anonymouslayout.component';\r\nimport { ActivationComponent } from './activation/activation.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RestPasswordComponent } from './rest-password/rest-password.component';\r\nimport { UploadLicenseComponent } from './upload-license/upload-license.component';\r\nimport { TranslationResolverService } from '@bnsights/bbsf-utilities';\r\nimport { ErrorComponent } from './error/error.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { VerifyTwoFAComponent } from './verify-two-fa/verify-two-fa.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"account\", component: anonymouslayoutComponent, resolve: [TranslationResolverService], children: [\r\n      { path: \"login\", component: LoginComponent },\r\n      { path: \"forgotPassword\", component: ForgotPasswordComponent },\r\n      { path: \"restPassword/:id\", component: RestPasswordComponent },\r\n      { path: \"activation/:id\", component: ActivationComponent },\r\n      { path: \"uploadLicense\", component: UploadLicenseComponent },\r\n      { path: \"error/:key/:error\", component: ErrorComponent },\r\n      { path: \"changePassword/:id\", component: ChangePasswordComponent },\r\n      { path: \"verify2FA/:id\", component: VerifyTwoFAComponent }\r\n    ]\r\n  }\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class AnonymouslayoutRoutingModule { }\r\n","import {\r\n\r\n  HttpEvent,\r\n\r\n  HttpInterceptor,\r\n\r\n  HttpHandler,\r\n\r\n  HttpRequest,\r\n\r\n  HttpResponse,\r\n\r\n  HttpErrorResponse\r\n\r\n} from '@angular/common/http';\r\nimport { Injectable, Injector, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '@bnsights/bbsf-utilities';\r\n\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\nimport { retry, catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n  constructor(private injector: Injector, private zone: NgZone) {\r\n\r\n  }\r\n  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n    return next.handle(request)\r\n\r\n      .pipe(\r\n\r\n        retry(1),\r\n\r\n        catchError((error: HttpErrorResponse) => {\r\n\r\n          let errorMessage = '';\r\n          const router = this.injector.get(Router);\r\n\r\n          if (error.error instanceof ErrorEvent) {\r\n\r\n            // client-side error\r\n\r\n            errorMessage = `Error: ${error.error.message}`;\r\n\r\n          } else {\r\n            //throw fluent validation errors\r\n            if (error.status == 400) {\r\n              return throwError(error);\r\n            }\r\n\r\n            // server-side error\r\n            errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n            if (error.status == 401) {\r\n              // Clear auth state before redirect\r\n              const authService = this.injector.get(AuthService);\r\n              authService.clearLocalAuthState({ keepRedirectUrl: true });\r\n\r\n              this.zone.run(() => router.navigate([\"/Admin/account/login\"]));\r\n            }\r\n            else if (error.status == 516) {\r\n              this.zone.run(() => router.navigate([`/Admin/account/error/${error.status}/${error.error}`]));\r\n            }\r\n\r\n          }\r\n\r\n\r\n          return throwError(errorMessage);\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 { LoginComponent } from './login/login.component';\r\nimport { anonymouslayoutComponent } from './anonymouslayout.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AnonymouslayoutRoutingModule } from './anonymouslayout-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AppearanceConfigurationService, AuthService, BBSFTranslateService, BBSFUtilitiesModule, EnvironmentService, MasterLayoutService, StylesBundleService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { RestPasswordComponent } from './rest-password/rest-password.component';\r\nimport { ActivationComponent } from './activation/activation.component';\r\nimport { UploadLicenseComponent } from './upload-license/upload-license.component';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { AuthGuard } from '../core/authentication/auth.guard';\r\nimport { AnonymousLayoutService } from '../shared/Services/AnonymousLayoutService.service';\r\nimport { ErrorComponent } from './error/error.component';\r\nimport { LayoutInitService } from '../../_metronic/core/services/layout-init.service';\r\nimport { LayoutService } from '../../_metronic/core/services/layout.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpErrorInterceptor } from '../shared/Services/HttpErrorInterceptor.service';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { VerifyTwoFAComponent } from './verify-two-fa/verify-two-fa.component';\r\n\r\n\r\n@NgModule({\r\n    declarations: [LoginComponent, anonymouslayoutComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent, ErrorComponent, ChangePasswordComponent, VerifyTwoFAComponent],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    AnonymouslayoutRoutingModule,\r\n    SharedModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    BBSFControlsModule,\r\n    BBSFUtilitiesModule,\r\n    BlockUIModule.forRoot(),\r\n\r\n\r\n  ],\r\n  providers: [\r\n    LayoutService,\r\n    LayoutInitService,\r\n    StylesBundleService,\r\n    EnvironmentService,\r\n    AuthService,\r\n    UtilityService,\r\n    AuthGuard,\r\n    BBSFTranslateService,\r\n    MasterLayoutService,\r\n    NgbModal,\r\n    RouterModule,\r\n    AppearanceConfigurationService,\r\n    AnonymousLayoutService,\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: HttpErrorInterceptor,\r\n      multi: true\r\n    },\r\n  ]\r\n})\r\nexport class AnonymouslayoutModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\n@Component({\r\n    selector: 'app-content',\r\n    templateUrl: './content.component.html',\r\n    standalone: false\r\n})\r\nexport class ContentComponent implements OnInit, OnDestroy {\r\n  private unsubscribe: Subscription[] = [];\r\n\r\n  constructor(private router: Router) {}\r\n\r\n  ngOnInit(): void {\r\n    this.routingChanges();\r\n  }\r\n\r\n  routingChanges() {\r\n    const routerSubscription = this.router.events.subscribe((event) => {\r\n      if (event instanceof NavigationEnd || event instanceof NavigationCancel) {\r\n        // DrawerComponent.hideAll();\r\n      }\r\n    }) as any;\r\n    this.unsubscribe.push(routerSubscription);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n  }\r\n}\r\n","<router-outlet></router-outlet>\r\n","\r\n\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\n\r\nimport { MasterlayoutRoutingModule } from './masterlayout.routing';\r\nimport { MasterlayoutComponent } from './masterlayout.component';\r\nimport { FilterComponent } from './Pages/shared/filter/filter.component';\r\nimport { AnonymouslayoutModule } from './Pages/anonymouslayout/anonymouslayout.module';\r\nimport { AuthModule } from './Pages/core/auth.module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { AuthenticationModule } from './Pages/authentication/authentication.module';\r\nimport { HttpErrorInterceptor } from './Pages/shared/Services/HttpErrorInterceptor.service';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\nimport { AsideComponent } from './Pages/_layout/components/aside/aside.component';\r\n\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { NgbDropdownModule, NgbModal, NgbProgressbarModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LayoutInitService } from './_metronic/core/services/layout-init.service';\r\nimport { LayoutService } from './_metronic/core/services/layout.service';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthGuard } from './Pages/core/authentication/auth.guard';\r\nimport { injectionModuleService } from './Pages/shared/Services/injectionModuleService.service';\r\nimport { InjectedModule } from './Pages/shared/models/InjectedModuleModel/InjectedModule';\r\nimport { HeaderComponent } from './Pages/_layout/components/header/header.component';\r\nimport { ContentComponent } from './Pages/_layout/components/content/content.component';\r\nimport { FooterComponent } from './Pages/_layout/components/footer/footer.component';\r\nimport { ScriptsInitComponent } from './Pages/_layout/components/scripts-init/scripts-init.component';\r\nimport { AsideMenuComponent } from './Pages/_layout/components/aside/aside-menu/aside-menu.component';\r\nimport { TopbarComponent } from './Pages/_layout/components/topbar/topbar.component';\r\nimport { AuthService, BBSFUtilitiesModule, EnvironmentService, StylesBundleService, UtilityService, BBSFTranslateService, MasterLayoutService, AppearanceConfigurationService } from '@bnsights/bbsf-utilities';\r\n\r\nimport { ToolbarModule } from './Pages/_layout/components/toolbar/toolbar.module';\r\nimport { AnonymousLayoutService } from './Pages/shared/Services/AnonymousLayoutService.service';\r\nimport { AdminGuard } from './Pages/core/authentication/admin.guard';\r\nimport { DocumentTemplateService } from './Pages/shared/Services/DocumentTemplateService.service';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MasterlayoutComponent,\r\n    FilterComponent,\r\n    AsideComponent,\r\n    HeaderComponent,\r\n    ContentComponent,\r\n    FooterComponent,\r\n    ScriptsInitComponent,\r\n    AsideMenuComponent,\r\n    TopbarComponent,\r\n\r\n  ],\r\n  imports: [\r\n    BlockUIModule.forRoot(),\r\n    ClipboardModule,\r\n    AuthenticationModule,\r\n    CommonModule,\r\n    MasterlayoutRoutingModule,\r\n    NgbModule,\r\n    ToolbarModule,\r\n    ReactiveFormsModule,\r\n    AnonymouslayoutModule,\r\n    HttpClientModule,\r\n    AuthModule,\r\n    RouterModule,\r\n    InlineSVGModule,\r\n    NgbDropdownModule,\r\n    NgbProgressbarModule,\r\n    BBSFUtilitiesModule\r\n  ],\r\n  providers: [\r\n    LayoutService,\r\n    LayoutInitService,\r\n    StylesBundleService,\r\n    EnvironmentService,\r\n    AuthService,\r\n    UtilityService,\r\n    AuthGuard,\r\n    AdminGuard,\r\n    BBSFTranslateService,\r\n    MasterLayoutService,\r\n    DocumentTemplateService,\r\n    NgbModal,\r\n    AppearanceConfigurationService,\r\n    AnonymousLayoutService,\r\n    {\r\n      provide: HTTP_INTERCEPTORS,\r\n      useClass: HttpErrorInterceptor,\r\n      multi: true\r\n    },\r\n  ],\r\n\r\n})\r\nexport class MasterlayoutModule {\r\n  // static setDynamicProviders(environment: any) {\r\n  //   environmentService.setEnvironmentObject(environment);\r\n  //   return MasterlayoutModule;\r\n  // }\r\n\r\n  static setDynamicModules(InjectedModules: InjectedModule[]) {\r\n    injectionModuleService.injectNewModules(InjectedModules);\r\n    return MasterlayoutModule;\r\n  }\r\n\r\n\r\n}\r\n","import { SurveyFiledValueDTO } from \"./survey-filed-value\";\r\n\r\nexport class SurveyFormOptions {\r\n\r\n    Name: string;\r\n    QuestionList:any[]=[];\r\n    Readonly:boolean;\r\n    IsExternal:boolean=false\r\n    ValuesList:SurveyFiledValueDTO[]=[];\r\n}\r\n","\r\nexport enum LanguageType {\r\n  English = \"ebe77688-d7d3-481c-aace-da4a97a863bf\",\r\n  Arabic = \"55dccd92-f411-4fae-b5b2-9e9002b1ea67\",\r\n  Any = \"0384dbac-c3fa-4ba3-be28-e10110350459\"\r\n}\r\n\r\nexport enum AudienceType {\r\n  Internal = \"a4daa431-62c1-404a-aeec-b505bfbd037e\",\r\n  External = \"39a52e7c-72c3-4eb5-830b-d610933cd9ba\",\r\n  Both = \"ff13d40b-b5ee-482c-abd3-3a72c29374eb\"\r\n}\r\n\r\nexport enum SurveyStatusEnum\r\n{\r\n  ScoringTypeEnum_Draft = \"4ff92e54-c966-4e7e-a58a-47b0269196c1\",\r\n  ScoringTypeEnum_Upcoming = \"e8ef5c73-67f0-4345-a931-5bcbe9e31963\",\r\n  ScoringTypeEnum_Published = \"3c2bae84-f0df-48fb-b310-3b8326c0d77f\",\r\n  ScoringTypeEnum_Closed = \"9b92dedc-e51a-438b-baf0-d0c75c01a492\"\r\n}\r\nexport enum SurveyMode\r\n{\r\n  Survey_Full_Access = 1,\r\n  Survey_ReadOnly_Access = 2\r\n}\r\nexport enum SurveyOptionType {\r\n  SingleSelect = \"24fedf55-2a6c-4bda-a9a0-afc91ab908be\",\r\n  MultipleSelect =\"6c60b6ba-6175-470a-81aa-a9c1e87046fd\",\r\n  RadioButton = \"1133ce2b-bf74-4899-8859-cd48a15aa71d\",\r\n  File = \"dde598ad-1cef-4b04-a96e-724cce8d7cec\",\r\n  MultiFile =  \"922564f3-73a9-4028-99b4-089cc51f24c0\",\r\n  Image =  \"cade8069-e18c-493d-9b26-c74371f74df9\",\r\n  Text =  \"131df300-9fea-4aff-b475-dabd3977bf2a\",\r\n  MultilineText = \"42694b87-ed2b-4b3d-b510-3f03e2f30e1b\",\r\n  Email = \"cd4ec4ca-c093-4579-bb18-1fabe7d3c169\",\r\n  Number =  \"0a6ea20e-2645-4450-b51b-8140f2c4a7fe\",\r\n  Boolean = \"44ab7a51-4cb3-4c5a-89f8-858528ead715\",\r\n  Date = \"a3adcf70-64df-4847-825f-7da02dfa088e\",\r\n  DateTime = \"55e9216b-1309-4be6-b855-56b0aa0e4fa7\",\r\n  Country = \"61daf8d1-be00-4d2f-8ff3-addcfbba8ca1\",\r\n}\r\n\r\nexport enum SortingOptions {\r\n  ByCreated = \"34506abc-ac7e-485b-9ff8-3610314f75aa\",\r\n  ByLikes = \"f056010f-f7c7-471e-8ed2-9c564fcee0ee\",\r\n  ByComments = \"b67475b5-22d3-47cb-a4f6-6ac902a458da\",\r\n  ByScore = \"c75beb1d-250f-4a4b-898f-4b492817f9d8\",\r\n}\r\n\r\nexport enum SortingType {\r\n  Ascending = \"8c97ea5a-a224-49e8-98ba-476e3f9a6468\",\r\n  Descending = \"33b99327-2e34-44fc-9ba2-9e85ff13022a\",\r\n}\r\nexport const EmptyGuid: string = \"00000000-0000-0000-0000-000000000000\";\r\n\r\n\r\n","export class DeleteSurveyDTO {\r\n    ID_GUID: string;\r\n  }","import { Injectable } from '@angular/core';\r\nimport { ConfigurationService, RequestHandlerService, RequestOptionsModel } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { AddSurveyDTO } from '../models/SurveyModels/add-survey';\r\nimport { DeleteSurveyDTO } from '../models/SurveyModels/DeleteSurveyDTO';\r\nimport { SurveyPublishDTO, SurveyUnPublishDTO } from '../models/SurveyModels/survey-publish';\r\n\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class SurveyService {\r\n    apiURL: string = \"\";\r\n    constructor(private http: RequestHandlerService, private configurationService: ConfigurationService) {\r\n        this.getApiUrl();\r\n    }\r\n\r\n    loadFiltersDropdown(): Observable<any> {\r\n        this.getApiUrl();\r\n        let options: RequestOptionsModel = new RequestOptionsModel();\r\n        options.disableBlockUI = true;\r\n        return this.http.get(this.apiURL + 'FiltersDDLs', null, null, options);\r\n    }\r\n    loadDepartmentsDropdown(sectorIDs: any[]): Observable<any> {\r\n        this.getApiUrl();\r\n        let options: RequestOptionsModel = new RequestOptionsModel();\r\n        options.disableBlockUI = true;\r\n        return this.http.post(this.apiURL + 'DepartmentsDDL', sectorIDs, null, null, options);\r\n    }\r\n    loadSectorsDropdown(departmentsIDs: any[]): Observable<any> {\r\n        this.getApiUrl();\r\n        let options: RequestOptionsModel = new RequestOptionsModel();\r\n        options.disableBlockUI = true;\r\n        return this.http.post(this.apiURL + 'SectorsDDL', departmentsIDs, null, null, options);\r\n    }\r\n    add(): Observable<any> {\r\n        this.getApiUrl();\r\n        let options: RequestOptionsModel = new RequestOptionsModel();\r\n        options.disableBlockUI = false;\r\n        return this.http.get(this.apiURL, null, null, options);\r\n    }\r\n\r\n    addSurvey(addModal: AddSurveyDTO): Observable<any> {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + 'AddSurvey', addModal);\r\n    }\r\n\r\n    get(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `${id}`);\r\n    }\r\n\r\n    editSurvey(editModal: AddSurveyDTO): Observable<any> {\r\n        this.getApiUrl();\r\n        return this.http.put(this.apiURL + 'EditSurvey', editModal);\r\n    }\r\n\r\n    publishSurvey(model: SurveyPublishDTO) {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + \"PublishSurvey\", model);\r\n    }\r\n\r\n    unPublishSurvey(model: SurveyUnPublishDTO) {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + \"UnPublishSurvey\", model);\r\n    }\r\n\r\n    delete(id: string) {\r\n        this.getApiUrl();\r\n        var model = new DeleteSurveyDTO();\r\n        model.ID_GUID = id;\r\n        return this.http.post(this.apiURL + \"Delete\", model);\r\n    }\r\n\r\n    getInfo(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `Info/${id}`);\r\n    }\r\n\r\n    preview(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `Preview/${id}`);\r\n    }\r\n    getSurveyForSubmission(id: string, audienceType: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `GetSurveyForSubmission/${id}/${audienceType}`);\r\n    }\r\n\r\n    addSurveySubmission(addModal): Observable<any> {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + \"AddSurveySubmission\", addModal);\r\n    }\r\n    checkUserInfoValidation(userModal): Observable<any> {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + \"ValidateExternalUserEmail\", userModal);\r\n    }\r\n    deleteSubmission(id: string) {\r\n        this.getApiUrl();\r\n        var model = new DeleteSurveyDTO();\r\n        model.ID_GUID = id;\r\n        return this.http.post(this.apiURL + \"DeleteSubmission\", model);\r\n    }\r\n    previewSurveySubmissionResult(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `PreviewSurveySubmissionResult/${id}`);\r\n    }\r\n\r\n    getSurveyForSubmissionAsExternal(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `GetSurveyForSubmissionAsExternal/${id}`);\r\n    }\r\n\r\n    addSurveySubmissionForExternal(addModal): Observable<any> {\r\n        this.getApiUrl();\r\n        return this.http.post(this.apiURL + \"AddSurveySubmissionForExternal\", addModal);\r\n    }\r\n\r\n    eliminateSubmission(id: string) {\r\n        this.getApiUrl();\r\n        var model = new DeleteSurveyDTO();\r\n        model.ID_GUID = id;\r\n        return this.http.post(this.apiURL + \"EliminateSubmission\", model);\r\n    }\r\n\r\n    unEliminateSubmission(id: string) {\r\n        this.getApiUrl();\r\n        var model = new DeleteSurveyDTO();\r\n        model.ID_GUID = id;\r\n        return this.http.post(this.apiURL + \"UnEliminateSubmission\", model);\r\n    }\r\n\r\n    export(id: string) {\r\n        this.getApiUrl();\r\n        let options: RequestOptionsModel = new RequestOptionsModel();\r\n        options.responseType = \"arraybuffer\";\r\n        options.castResponsetoClass = false;\r\n        return this.http.post(this.apiURL + `Export/${id}`, null, null, null, options);\r\n    }\r\n\r\n    duplicateSurvey(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `DuplicateSurvey/${id}`);\r\n    }\r\n    getSurveyOverview(id: string) {\r\n        this.getApiUrl();\r\n        return this.http.get(this.apiURL + `GetSurveyOverview/${id}`);\r\n    }\r\n    getApiUrl() {\r\n        this.apiURL = this.configurationService.getConfigurationValue(\"Survey_ApiUrl\");\r\n    }\r\n}","import { Time } from \"@angular/common\";\r\nimport { DataType, EnglishArabicDTO, FileDTO, MultipleFileUploadModel } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class SurveyFiledValueDTO {\r\n\r\n    QuestionFieldID: string;\r\n    QuestionTypeItemID: DataType;\r\n    Score: number;\r\n    Text: string;\r\n    DateTime: Date;\r\n    Longitude: string;\r\n    Latitude: string;\r\n    PlaceID: string;\r\n    GoogleMapsURL: string;\r\n    Boolean: boolean;\r\n    ChallengeID: string;\r\n    InnovationLabID: string;\r\n    AreaOfFocusID: string;\r\n    GoalID: string;\r\n    SelectedIDs: string[] = [];\r\n    FileDTO: FileDTO;\r\n    FileCorrelationDTO: MultipleFileUploadModel = new MultipleFileUploadModel();\r\n    FileGuidID: string;\r\n    FileCorrelationID: string;\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n    selector: '[adHost]',\r\n    standalone: false\r\n})\r\nexport class AdDirective {\r\n  constructor(public viewContainerRef: ViewContainerRef) { }\r\n}","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\r\nimport { DateInputComponent, TextboxComponent, DropdownListComponent, FileUploadComponent, ImageUploaderComponent, TextAreaComponent, ToggleslideComponent, RenderComponentService, RadioButtonComponent } from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { SurveyOptionType } from '../../Enums/Enums';\r\nimport { AdDirective } from '../AdDirective';\r\n\r\n\r\n@Component({\r\n    selector: 'survey-form_item',\r\n    templateUrl: './survey-form-item.component.html',\r\n    providers: [FormGroupDirective],\r\n    standalone: false\r\n})\r\nexport class SurveyFormItemComponent implements OnInit {\r\n  @Input() group: FormGroup;\r\n  @Input() options: any;\r\n  @Input() Size: any;\r\n  @ViewChild(AdDirective, { static: true }) adHost!: AdDirective;\r\n  title: string;\r\n  questionNumber: number;\r\n  propertyTypeID: string;\r\n  constructor(private el: ElementRef,\r\n    private renderComponentService: RenderComponentService,\r\n    private utilityService: UtilityService,\r\n    public TextControlHost: FormGroupDirective,\r\n  ) { }\r\n  ngOnInit(): void {\r\n    const viewContainerRef = this.adHost.viewContainerRef;\r\n    viewContainerRef.clear();\r\n    let value = this.options.LabelValue.split(\".\");\r\n    this.title = value[0];\r\n    this.propertyTypeID = value[1];\r\n    this.options.LabelValue = this.title;\r\n    switch (this.propertyTypeID) {\r\n      ///TextBox\r\n\r\n      case SurveyOptionType.Email.toLocaleLowerCase():\r\n      case SurveyOptionType.Text.toLocaleLowerCase():\r\n      case SurveyOptionType.Number.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<TextboxComponent>(viewContainerRef, TextboxComponent, this.group, this.options);\r\n        break;\r\n      ///DateTime\r\n      case SurveyOptionType.Date.toLocaleLowerCase():\r\n      case SurveyOptionType.DateTime.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<DateInputComponent>(viewContainerRef, DateInputComponent, this.group, this.options);\r\n        break;\r\n      //Dropdown\r\n      case SurveyOptionType.Country.toLocaleLowerCase():\r\n      case SurveyOptionType.MultipleSelect.toLocaleLowerCase():\r\n      case SurveyOptionType.SingleSelect.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<DropdownListComponent>(viewContainerRef, DropdownListComponent, this.group, this.options);\r\n        break;\r\n      //FileUpload\r\n      case SurveyOptionType.File.toLocaleLowerCase():\r\n      case SurveyOptionType.MultiFile.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<FileUploadComponent>(viewContainerRef, FileUploadComponent, this.group, this.options);\r\n        break;\r\n      //Boolean\r\n      case SurveyOptionType.Boolean.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<ToggleslideComponent>(viewContainerRef, ToggleslideComponent, this.group, this.options);\r\n        break;\r\n      //MultilineText\r\n      case SurveyOptionType.MultilineText.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<TextAreaComponent>(viewContainerRef, TextAreaComponent, this.group, this.options);\r\n        break;\r\n      case SurveyOptionType.Image.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<ImageUploaderComponent>(viewContainerRef, ImageUploaderComponent, this.group, this.options);\r\n        break;\r\n      //MultilineText\r\n      case SurveyOptionType.RadioButton.toLocaleLowerCase():\r\n        this.renderComponentService.renderDynamicComponent<RadioButtonComponent>(viewContainerRef, RadioButtonComponent, this.group, this.options);\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n<div class=\"survey-preview-data\" id=\"{{options.Name}}\"  [hidden]=\"options.IsReadonly\">\r\n    <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n    <div class=\"survey-preview-question\">\r\n      <div class=\"survey-answer\">\r\n        <ng-template adHost></ng-template>\r\n    </div>\r\n    </div>\r\n  </div>\r\n\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';\r\nimport {\r\n  ControlLayout, DatePickerOptions, DropdownListComponent, DropdownListItem, DropdownOptions,\r\n  FileDTO, FileType, FileUploadOptions, ForceDirection, ImageUploadOptions, InputType, PickerType,\r\n  RadioButtonOptions, RangeNumber, RenderComponentService, SelectMode, StartView, TextAreaOptions,\r\n  TextBoxOptions, ToggleSlideOptions\r\n} from '@bnsights/bbsf-controls';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\nimport { SurveyOptionType } from '../../Enums/Enums';\r\nimport { SurveyFiledValueDTO } from '../../models/SurveyModels/survey-filed-value';\r\nimport { SurveyFormOptions } from '../../models/SurveyModels/survey-form-options';\r\nimport { AdDirective } from '../AdDirective';\r\nimport { SurveyFormItemComponent } from '../survey-form-item/survey-form-item.component';\r\n\r\n@Component({\r\n    selector: 'survey-form',\r\n    templateUrl: './survey-form.component.html',\r\n    providers: [FormGroupDirective],\r\n    standalone: false\r\n})\r\nexport class SurveyFormComponent implements OnInit {\r\n  @Input() group: FormGroup;\r\n  @Input() options: SurveyFormOptions;\r\n  @ViewChild(AdDirective, { static: true }) adHost!: AdDirective;\r\n  @ViewChild(DropdownListComponent, { static: false })\r\n  private myChild: DropdownListComponent;\r\n\r\n  filedGroup: FormGroup;\r\n  result: SurveyFiledValueDTO[] = [];\r\n  childIdList: string[] = [];\r\n  childQuestionList: any[] = [];\r\n  areaOfFocusControlName: string;\r\n  challengeControlName: string;\r\n  areaOfFocusControlIndex = 0;\r\n  challengeControlIndex = 0;\r\n  @ViewChild(NgForm) documentEditForm!: NgForm;\r\n  isDelete: boolean = false;\r\n  checkList: any[] = [];\r\n  showedChildQuestion: any[] = [];\r\n  TextContext: any;\r\n  isFirstValid: boolean = true;\r\n  labelClass: string = 'Testtsadfv';\r\n  constructor(\r\n    private el: ElementRef,\r\n    private renderComponentService: RenderComponentService,\r\n    private utilityService: UtilityService,\r\n    public TextControlHost: FormGroupDirective\r\n  ) { }\r\n  ngOnInit(): void {\r\n    const viewContainerRef = this.adHost.viewContainerRef;\r\n    viewContainerRef.clear();\r\n    this.filedGroup = new FormGroup({});\r\n    this.group.addControl(this.options.Name, this.filedGroup);\r\n\r\n    this.group.statusChanges.subscribe((e) => {\r\n      console.log('Group', e);\r\n    });\r\n    for (let index = 0; index < this.options.QuestionList.length; index++) {\r\n      var element = this.options.QuestionList[index];\r\n\r\n      switch (element.questionTypeItemID) {\r\n        ///TextBox\r\n\r\n        case SurveyOptionType.Text.toLocaleLowerCase():\r\n          var Text = new TextBoxOptions();\r\n          Text.name = 'q' + element.iD_GUID;\r\n          Text.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Text.hideLabel = false;\r\n          Text.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Text.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Text.isDisabled = this.options.Readonly;\r\n          Text.labelExtraClasses = this.labelClass;\r\n          Text.viewType = ControlLayout.Vertical;\r\n          Text.labelDescription = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.options.description.arabic\r\n            : element.options.description.english;\r\n          if (element.value.text) Text.value = element.value.text;\r\n          if (element.options.maxLength)\r\n            Text.maxLength = element.options.maxLength;\r\n          if (element.options.minLength)\r\n            Text.minLength = element.options.minLength;\r\n          Text.type = InputType.Text;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Text);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Text,\r\n            element.options.size\r\n          );\r\n          break;\r\n\r\n        case SurveyOptionType.Email.toLocaleLowerCase():\r\n          let Email = new TextBoxOptions();\r\n          Email.name = 'q' + element.iD_GUID;\r\n          Email.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Email.hideLabel = false;\r\n          Email.labelExtraClasses = this.labelClass;\r\n          Email.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Email.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Email.viewType = ControlLayout.Vertical;\r\n          Email.isDisabled = this.options.Readonly;\r\n          Email.labelDescription = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.options.description.arabic\r\n            : element.options.description.english;\r\n          Email.type = InputType.Email;\r\n          if (element.value.text) Email.value = element.value.text;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Email);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Email,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.Number.toLocaleLowerCase():\r\n          let Number = new TextBoxOptions();\r\n          Number.name = 'q' + element.iD_GUID;\r\n          Number.hideLabel = false;\r\n          Number.labelExtraClasses = this.labelClass;\r\n          Number.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Number.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Number.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Number.viewType = ControlLayout.Vertical;\r\n          Number.isDisabled = this.options.Readonly;\r\n          Number.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          Number.type = InputType.Number;\r\n          let rangeNumber = new RangeNumber();\r\n          rangeNumber.to = element.options.maxLength;\r\n          rangeNumber.from = element.options.minLength;\r\n          Number.numberRange = rangeNumber;\r\n          if (element.value.text) Number.value = element.value.text;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Number);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Number,\r\n            element.options.size\r\n          );\r\n          break;\r\n        ///DateTime\r\n        case SurveyOptionType.Date.toLocaleLowerCase():\r\n          let Date = new DatePickerOptions();\r\n          Date.name = 'q' + element.iD_GUID;\r\n          Date.hideLabel = false;\r\n          Date.labelExtraClasses = this.labelClass;\r\n          Date.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Date.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Date.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Date.viewType = ControlLayout.Vertical;\r\n          Date.isDisabled = this.options.Readonly;\r\n          Date.labelDescription = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.options.description.arabic\r\n            : element.options.description.english;\r\n          Date.pickerType = PickerType.Calendar;\r\n          Date.selectMode = SelectMode.Single;\r\n          Date.startView = StartView.Month;\r\n          if (element.value.dateTime) Date.value = element.value.dateTime;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Date);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Date,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.DateTime.toLocaleLowerCase():\r\n          let DateTime = new DatePickerOptions();\r\n          DateTime.name = 'q' + element.iD_GUID;\r\n          DateTime.hideLabel = false;\r\n          DateTime.labelExtraClasses = this.labelClass;\r\n          DateTime.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          DateTime.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          DateTime.isReadonly = element.isRelatedToSurveyQuestion;\r\n          DateTime.viewType = ControlLayout.Vertical;\r\n          DateTime.isDisabled = this.options.Readonly;\r\n          DateTime.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          DateTime.pickerType = PickerType.Both;\r\n          DateTime.selectMode = SelectMode.Single;\r\n          DateTime.startView = StartView.Month;\r\n          if (element.value.dateTime) DateTime.value = element.value.dateTime;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(DateTime);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            DateTime,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //Dropdown\r\n        case SurveyOptionType.SingleSelect.toLocaleLowerCase():\r\n          let SingleSelect = new DropdownOptions();\r\n          SingleSelect.name = 'q' + element.iD_GUID;\r\n          SingleSelect.hideLabel = false;\r\n          SingleSelect.labelExtraClasses = this.labelClass;\r\n          SingleSelect.labelValue =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.text.arabic + `.${element.questionTypeItemID}`\r\n              : element.text.english + `.${element.questionTypeItemID}`;\r\n          SingleSelect.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          SingleSelect.isReadonly = element.isRelatedToSurveyQuestion;\r\n          SingleSelect.placeholder =\r\n            this.utilityService.getResourceValue('DefaultOptionText');\r\n          SingleSelect.viewType = ControlLayout.Vertical;\r\n          SingleSelect.isDisabled = this.options.Readonly;\r\n          SingleSelect.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          let dataSource: any[] = [];\r\n          for (let index = 0; index < element.questionOptions.length; index++) {\r\n            const option = element.questionOptions[index];\r\n            let item: any = {};\r\n            item.key = option.iD_GUID;\r\n            item.value = this.utilityService.isCurrentLanguageArabic()\r\n              ? option.name.arabic\r\n              : option.name.english;\r\n            dataSource.push(item);\r\n          }\r\n          SingleSelect.dataSource = dataSource;\r\n          SingleSelect.singleSelection = true;\r\n          SingleSelect.showCheckbox = false;\r\n          SingleSelect.allowSearchFilter = true;\r\n          if (element.value.selectedIDs)\r\n            SingleSelect.selectedItems = element.value.selectedIDs[0];\r\n          if (element.isRelatedToSurveyQuestion)\r\n            this.checkList.push(SingleSelect);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            SingleSelect,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.RadioButton.toLocaleLowerCase():\r\n          let radioButton = new RadioButtonOptions();\r\n          radioButton.name = 'q' + element.iD_GUID;\r\n          radioButton.hideLabel = false;\r\n          radioButton.labelExtraClasses = this.labelClass;\r\n          radioButton.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          radioButton.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          radioButton.isReadonly = element.isRelatedToSurveyQuestion;\r\n          radioButton.viewType = ControlLayout.Vertical;\r\n          radioButton.isDisabled = this.options.Readonly;\r\n          radioButton.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          let dataSourceRadio: any[] = [];\r\n          for (let index = 0; index < element.questionOptions.length; index++) {\r\n            const option = element.questionOptions[index];\r\n            let item: any = {};\r\n            item.Value = option.iD_GUID;\r\n            item.Text = this.utilityService.isCurrentLanguageArabic()\r\n              ? option.name.arabic\r\n              : option.name.english;\r\n            dataSourceRadio.push(item);\r\n          }\r\n          radioButton.items = dataSourceRadio;\r\n          if (element.value.selectedIDs)\r\n            radioButton.value = element.value.selectedIDs[0];\r\n          if (element.isRelatedToSurveyQuestion)\r\n            this.checkList.push(radioButton);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            radioButton,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.MultipleSelect.toLocaleLowerCase():\r\n          let MulipleSelect = new DropdownOptions();\r\n          MulipleSelect.name = 'q' + element.iD_GUID;\r\n          MulipleSelect.hideLabel = false;\r\n          MulipleSelect.labelExtraClasses = this.labelClass;\r\n          MulipleSelect.labelValue =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.text.arabic + `.${element.questionTypeItemID}`\r\n              : element.text.english + `.${element.questionTypeItemID}`;\r\n          MulipleSelect.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          MulipleSelect.isReadonly = element.isRelatedToSurveyQuestion;\r\n          MulipleSelect.placeholder =\r\n            this.utilityService.getResourceValue('DefaultOptionText');\r\n          MulipleSelect.viewType = ControlLayout.Vertical;\r\n          MulipleSelect.isDisabled = this.options.Readonly;\r\n          MulipleSelect.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          let multipleSelectDataSource: DropdownListItem[] = [];\r\n          for (let index = 0; index < element.questionOptions.length; index++) {\r\n            const option = element.questionOptions[index];\r\n            let item: any = {};\r\n            item.key = option.iD_GUID;\r\n            item.value = this.utilityService.isCurrentLanguageArabic()\r\n              ? option.name.arabic\r\n              : option.name.english;\r\n            multipleSelectDataSource.push(item);\r\n          }\r\n          MulipleSelect.dataSource = multipleSelectDataSource;\r\n          MulipleSelect.singleSelection = false;\r\n          MulipleSelect.showCheckbox = false;\r\n          MulipleSelect.allowSearchFilter = true;\r\n          if (element.value.selectedIDs)\r\n            MulipleSelect.selectedItems = element.value.selectedIDs;\r\n          if (element.isRelatedToSurveyQuestion)\r\n            this.checkList.push(MulipleSelect);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            MulipleSelect,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.Country.toLocaleLowerCase():\r\n          let Country = new DropdownOptions();\r\n          Country.name = 'q' + element.iD_GUID;\r\n          Country.hideLabel = false;\r\n          Country.labelExtraClasses = this.labelClass;\r\n          Country.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Country.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Country.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Country.viewType = ControlLayout.Vertical;\r\n          Country.isDisabled = this.options.Readonly;\r\n          Country.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          Country.singleSelection = true;\r\n          Country.showCheckbox = false;\r\n          Country.allowSearchFilter = true;\r\n          Country.dataSource = element.options.dataSource;\r\n          if (element.value.selectedIDs)\r\n            Country.selectedItems = element.value.selectedIDs[0];\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Country);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Country,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //FileUpload\r\n        case SurveyOptionType.MultiFile.toLocaleLowerCase():\r\n          let MultiFile = new FileUploadOptions();\r\n          MultiFile.name = 'q' + element.iD_GUID;\r\n          MultiFile.hideLabel = false;\r\n          MultiFile.labelExtraClasses = this.labelClass;\r\n          MultiFile.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          MultiFile.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          MultiFile.isReadonly = element.isRelatedToSurveyQuestion;\r\n          MultiFile.viewType = ControlLayout.Vertical;\r\n          MultiFile.isDisabled = this.options.Readonly;\r\n          MultiFile.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          MultiFile.maxSizeForAllFilesInMB = element.options.maxFileSizeInMB;\r\n          MultiFile.maxNoOfFiles = element.options.maxFileCount;\r\n          MultiFile.isMultipleFile = true;\r\n          let acceptedTypes: FileType[] = [];\r\n          for (\r\n            let index = 0;\r\n            index < element.options.allowedExtensions.length;\r\n            index++\r\n          ) {\r\n            const elementValue = element.options.allowedExtensions[index];\r\n            switch (elementValue) {\r\n              case '0':\r\n                acceptedTypes.push(FileType.PDF);\r\n                break;\r\n              case '1':\r\n                acceptedTypes.push(FileType.Word);\r\n                break;\r\n              case '2':\r\n                acceptedTypes.push(FileType.Excel);\r\n                break;\r\n              case '3':\r\n                acceptedTypes.push(FileType.ImageTypes);\r\n                break;\r\n              case '15':\r\n                acceptedTypes.push(FileType.PowerPoint);\r\n                break;\r\n              default:\r\n                break;\r\n            }\r\n          }\r\n          MultiFile.fileUploadAcceptsTypes = acceptedTypes;\r\n          if (element.value.fileCorrelationDTO) {\r\n            let model = this.toCamel(element.value.fileCorrelationDTO);\r\n            MultiFile.value = model;\r\n          }\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(MultiFile);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            MultiFile,\r\n            element.options.size\r\n          );\r\n          break;\r\n        case SurveyOptionType.File.toLocaleLowerCase():\r\n          let File = new FileUploadOptions();\r\n          File.name = 'q' + element.iD_GUID;\r\n          File.hideLabel = false;\r\n          File.labelExtraClasses = this.labelClass;\r\n          File.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          File.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          File.isReadonly = element.isRelatedToSurveyQuestion;\r\n          File.viewType = ControlLayout.Vertical;\r\n          File.isDisabled = this.options.Readonly;\r\n          File.labelDescription = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.options.description.arabic\r\n            : element.options.description.english;\r\n          File.fileMaxSizeInMB = element.options.maxFileSizeInMB;\r\n\r\n          let acceptedTypesFile: FileType[] = [];\r\n          debugger;\r\n          for (\r\n            let index = 0;\r\n            index < element.options.allowedExtensions.length;\r\n            index++\r\n          ) {\r\n            const elementValue = element.options.allowedExtensions[index];\r\n            switch (elementValue) {\r\n              case '0':\r\n                acceptedTypesFile.push(FileType.PDF);\r\n                break;\r\n              case '1':\r\n                acceptedTypesFile.push(FileType.Word);\r\n                break;\r\n              case '2':\r\n                acceptedTypesFile.push(FileType.Excel);\r\n                break;\r\n              case '3':\r\n                acceptedTypesFile.push(FileType.ImageTypes);\r\n                break;\r\n              case '15':\r\n                acceptedTypesFile.push(FileType.PowerPoint);\r\n                break;\r\n              default:\r\n                break;\r\n            }\r\n          }\r\n          if (element.value.fileDTO) {\r\n            let model = this.toCamel(element.value.fileDTO) as FileDTO;\r\n            File.value = model;\r\n          }\r\n          File.fileUploadAcceptsTypes = acceptedTypesFile;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(File);\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            File,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //ImageUpload\r\n        case SurveyOptionType.Image.toLocaleLowerCase():\r\n          let Image = new ImageUploadOptions();\r\n          Image.name = 'q' + element.iD_GUID;\r\n          Image.hideLabel = false;\r\n          Image.labelExtraClasses = this.labelClass;\r\n          Image.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Image.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          Image.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Image.viewType = ControlLayout.Vertical;\r\n          Image.isDisabled = this.options.Readonly;\r\n          Image.labelDescription = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.options.description.arabic\r\n            : element.options.description.english;\r\n          if (element.options.maxFileSizeInMB)\r\n            Image.fileMaxSizeInMB = element.options.maxFileSizeInMB;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Image);\r\n          if (element.value.fileDTO) Image.value = element.value.fileDTO;\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Image,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //MultilineText\r\n        case SurveyOptionType.MultilineText.toLocaleLowerCase():\r\n          let MultilineText = new TextAreaOptions();\r\n          MultilineText.name = 'q' + element.iD_GUID;\r\n          MultilineText.hideLabel = false;\r\n          MultilineText.labelExtraClasses = this.labelClass;\r\n          MultilineText.labelValue =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.text.arabic + `.${element.questionTypeItemID}`\r\n              : element.text.english + `.${element.questionTypeItemID}`;\r\n          MultilineText.isRequired = element.isRelatedToSurveyQuestion\r\n            ? false\r\n            : element.options.isRequired;\r\n          MultilineText.isReadonly = element.isRelatedToSurveyQuestion;\r\n          MultilineText.viewType = ControlLayout.Vertical;\r\n          MultilineText.isDisabled = this.options.Readonly;\r\n          MultilineText.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          if (element.options.maxLength)\r\n            MultilineText.maxLength = element.options.maxLength;\r\n          if (element.options.minLength)\r\n            MultilineText.minLength = element.options.minLength;\r\n          MultilineText.rows = element.options.rows;\r\n          if (element.value.text) MultilineText.value = element.value.text;\r\n          if (element.isRelatedToSurveyQuestion)\r\n            this.checkList.push(MultilineText);\r\n          MultilineText.forceDirection =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? ForceDirection.Arabic\r\n              : ForceDirection.English;\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            MultilineText,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //HTML\r\n        case SurveyOptionType.Boolean.toLocaleLowerCase():\r\n          let Boolean = new ToggleSlideOptions();\r\n          Boolean.name = 'q' + element.iD_GUID;\r\n          Boolean.labelExtraClasses = this.labelClass;\r\n          Boolean.viewType = ControlLayout.Vertical;\r\n          Boolean.isReadonly = element.isRelatedToSurveyQuestion;\r\n          Boolean.isDisabled = this.options.Readonly;\r\n          Boolean.hideLabel = false;\r\n          if (element.value.boolean) Boolean.value = element.value.boolean;\r\n          if (element.isRelatedToSurveyQuestion) this.checkList.push(Boolean);\r\n          Boolean.labelValue = this.utilityService.isCurrentLanguageArabic()\r\n            ? element.text.arabic + `.${element.questionTypeItemID}`\r\n            : element.text.english + `.${element.questionTypeItemID}`;\r\n          Boolean.labelDescription =\r\n            this.utilityService.isCurrentLanguageArabic()\r\n              ? element.options.description.arabic\r\n              : element.options.description.english;\r\n          this.renderComponentService.renderDynamicComponent<SurveyFormItemComponent>(\r\n            viewContainerRef,\r\n            SurveyFormItemComponent,\r\n            this.filedGroup,\r\n            Boolean,\r\n            element.options.size\r\n          );\r\n          break;\r\n        //Location\r\n        default:\r\n          break;\r\n      }\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.options.Readonly)\r\n      for (let index = 0; index < this.checkList.length; index++) {\r\n        if (this.checkList[index].Value) {\r\n          this.checkList[index].IsReadonly = false;\r\n        }\r\n      }\r\n\r\n    this.filedGroup.valueChanges.subscribe((es) => {\r\n      console.log(this.filedGroup);\r\n      this.result = [];\r\n      this.showedChildQuestion = [];\r\n      for (const key in this.filedGroup.controls) {\r\n        if (\r\n          Object.prototype.hasOwnProperty.call(this.filedGroup.controls, key)\r\n        ) {\r\n          let score = 0;\r\n          let element = this.filedGroup.controls[key];\r\n          let id = key.replace('q', '');\r\n          var filteredItem = this.options.QuestionList.filter(\r\n            (item) => item.iD_GUID == id\r\n          )[0];\r\n\r\n          let item = new SurveyFiledValueDTO();\r\n          item.QuestionFieldID = id;\r\n          item.QuestionTypeItemID = filteredItem.questionTypeItemID;\r\n          switch (filteredItem.questionTypeItemID) {\r\n            case SurveyOptionType.Text.toLocaleLowerCase():\r\n              item.Text = element.value;\r\n              break;\r\n            case SurveyOptionType.Email.toLocaleLowerCase():\r\n              item.Text = element.value;\r\n              break;\r\n            case SurveyOptionType.Number.toLocaleLowerCase():\r\n              item.Text = element.value;\r\n              break;\r\n            case SurveyOptionType.MultilineText.toLocaleLowerCase():\r\n              item.Text = element.value;\r\n              break;\r\n            case SurveyOptionType.Boolean.toLocaleLowerCase():\r\n              item.Boolean = element.value;\r\n              break;\r\n            case SurveyOptionType.Date.toLocaleLowerCase():\r\n              item.DateTime = element.value;\r\n              break;\r\n\r\n            case SurveyOptionType.DateTime.toLocaleLowerCase():\r\n              item.DateTime = element.value;\r\n              break;\r\n            case SurveyOptionType.SingleSelect.toLocaleLowerCase():\r\n              item.SelectedIDs = [element.value];\r\n              this.addShowedChildQuestions(element.value);\r\n              debugger;\r\n              if (filteredItem.isAllowScoring)\r\n                score = filteredItem.questionOptions.filter(\r\n                  (item) => item.iD_GUID == element.value\r\n                )[0]?.score\r\n                  ? filteredItem.questionOptions?.filter(\r\n                    (item) => item.iD_GUID == element.value\r\n                  )[0].score\r\n                  : 0;\r\n              break;\r\n            case SurveyOptionType.RadioButton.toLocaleLowerCase():\r\n              item.SelectedIDs = [element.value];\r\n              this.addShowedChildQuestions(element.value);\r\n              if (filteredItem.isAllowScoring)\r\n                score = filteredItem.questionOptions.filter(\r\n                  (item) => item.iD_GUID == element.value\r\n                )[0]?.score\r\n                  ? filteredItem.questionOptions?.filter(\r\n                    (item) => item.iD_GUID == element.value\r\n                  )[0].score\r\n                  : 0;\r\n              break;\r\n            case SurveyOptionType.MultipleSelect.toLocaleLowerCase():\r\n              item.SelectedIDs = element.value;\r\n              if (element.value)\r\n                for (let index = 0; index < element.value.length; index++) {\r\n                  const item = element.value[index];\r\n                  this.addShowedChildQuestions(item);\r\n                  if (filteredItem.isAllowScoring) {\r\n                    let scoreValue = filteredItem.questionOptions.filter(\r\n                      (itemOptions) => itemOptions.iD_GUID == item\r\n                    )[0]?.score\r\n                      ? filteredItem.questionOptions?.filter(\r\n                        (itemOptions) => itemOptions.iD_GUID == item\r\n                      )[0].score\r\n                      : 0;\r\n                    score = scoreValue + score;\r\n                  }\r\n                }\r\n              break;\r\n            case SurveyOptionType.Country.toLocaleLowerCase():\r\n              item.SelectedIDs = [element.value];\r\n              break;\r\n            case SurveyOptionType.Image.toLocaleLowerCase():\r\n              item.FileDTO = element.value;\r\n              break;\r\n            case SurveyOptionType.File.toLocaleLowerCase():\r\n              if (element.value)\r\n                item.FileDTO = element.value.File\r\n                  ? element.value.File\r\n                  : element.value;\r\n              break;\r\n            case SurveyOptionType.MultiFile.toLocaleLowerCase():\r\n              item.FileCorrelationDTO = element.value;\r\n              break;\r\n            default:\r\n              break;\r\n          }\r\n          filteredItem.value = item;\r\n          filteredItem.value.score = score;\r\n          this.result.push(item);\r\n        }\r\n      }\r\n      this.options.ValuesList = this.result;\r\n      this.changeHiddenQuestionsStatus();\r\n    });\r\n  }\r\n\r\n  addShowedChildQuestions(newKey) {\r\n    for (let index = 0; index < this.options.QuestionList.length; index++) {\r\n      var questionOption = this.options.QuestionList[index].questionOptions;\r\n      let Option = questionOption.filter((x) => x.iD_GUID === newKey)[0];\r\n      if (Option && Option?.linkedQuestions.length > 0) {\r\n        for (let index = 0; index < Option.linkedQuestions.length; index++) {\r\n          const linkedQuestion = Option.linkedQuestions[index];\r\n          let checkIsQuestionExist = this.showedChildQuestion.some(\r\n            (x) => x === `q${linkedQuestion}`\r\n          );\r\n          if (!checkIsQuestionExist)\r\n            this.showedChildQuestion.push(`q${linkedQuestion}`);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  changeHiddenQuestionsStatus() {\r\n    let questions = this.showedChildQuestion;\r\n    for (let index = 0; index < this.checkList.length; index++) {\r\n      let checkIfExist = this.showedChildQuestion.some(\r\n        (x) => x === this.checkList[index].Name\r\n      );\r\n      if (checkIfExist) {\r\n        let questionId = this.checkList[index].Name.replace('q', '');\r\n        let Question = this.options.QuestionList.filter(\r\n          (item) => item.iD_GUID == questionId\r\n        )[0];\r\n        this.checkList[index].IsReadonly = false;\r\n        if (Question.options.isRequired && !this.checkList[index].IsRequired) {\r\n          this.checkList[index].IsRequired = true;\r\n          this.filedGroup\r\n            .get(this.checkList[index].Name)\r\n            .addValidators(Validators.required);\r\n          if (\r\n            this.filedGroup.get(this.checkList[index].Name).value == null ||\r\n            this.filedGroup.get(this.checkList[index].Name).value ==\r\n            undefined ||\r\n            this.filedGroup.get(this.checkList[index].Name).value == ''\r\n          )\r\n            this.filedGroup\r\n              .get(this.checkList[index].Name)\r\n              .setErrors({ required: true });\r\n          else this.filedGroup.get(this.checkList[index].Name).setErrors(null);\r\n        }\r\n      } else {\r\n        this.checkList[index].IsReadonly = true;\r\n        this.checkList[index].IsRequired = false;\r\n        this.checkList[index].Value = null;\r\n        this.filedGroup.controls[this.checkList[index].Name].removeValidators(\r\n          Validators.required\r\n        );\r\n        this.filedGroup.get(this.checkList[index].Name).setErrors(null);\r\n      }\r\n    }\r\n  }\r\n\r\n  toCamel = (obj) => {\r\n    if (Array.isArray(obj)) {\r\n      return obj.map((v) => this.toCamel(v));\r\n    } else if (obj != null && obj.constructor === Object) {\r\n      return Object.keys(obj).reduceRight(\r\n        (result, key) => ({\r\n          ...result,\r\n          [(key.charAt(0).toUpperCase() + key.slice(1) || key).toString()]:\r\n            this.toCamel(obj[key]),\r\n        }),\r\n        {}\r\n      );\r\n    }\r\n    return obj;\r\n  };\r\n}\r\n","<div class=\"survey-preview\">\r\n    <ng-template adHost></ng-template>\r\n</div>\r\n\r\n","import { FormGroup } from '@angular/forms';\r\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, BreadCrumb, CheckBoxOptions, ControlLayout, DropdownOptions, ForceDirection, FormOptions, InputType, MultiLingualTextBoxOptions, PageHeaderOptions, RadioButtonOptions, TextAreaOptions, TextBoxOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyFormOptions } from '../../../../models/SurveyModels/survey-form-options';\r\nimport { SurveyFormComponent } from '../../../survey-form/survey-form.component';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AudienceType } from '../../../../Enums/Enums';\r\n@Component({\r\n    selector: 'app-preview',\r\n    templateUrl: './preview.component.html',\r\n    standalone: false\r\n})\r\nexport class PreviewComponent extends AppBaseComponent implements OnInit {\r\n  pageHeaderOptions: PageHeaderOptions;\r\n  breadCrumb: BreadCrumb[];\r\n  previewForm = new FormGroup({});\r\n  surveyID: any;\r\n  surveyFormField: SurveyFormOptions;\r\n  isDateLoaded: boolean = false;\r\n  @ViewChild('PreviewQuestionModal', { static: false }) previewQuestionModal: SurveyFormComponent;\r\n  previewSurveyOptions: any;\r\n  surveyInfo: any;\r\n  EN: boolean;\r\n  audienceTypeRadioButton: RadioButtonOptions;\r\n  audienceTypeID: string;\r\n  showAudienceType: boolean = false;\r\n  showInternal: boolean = false;\r\n  showExternal: boolean = false;\r\n  name: MultiLingualTextBoxOptions;\r\n  email: TextBoxOptions;\r\n  declarationCheckBoxForm: CheckBoxOptions;\r\n\r\n  constructor(private injector: Injector, private surveyService: SurveyService, private activatedRoute: ActivatedRoute) {\r\n    super(injector);\r\n    this.surveyID = this.activatedRoute.snapshot.params[\"id\"];\r\n    this.audienceTypeID = this.activatedRoute.snapshot.params[\"audienceID\"];\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.breadCrumb = [];\r\n    this.breadCrumb.push(new BreadCrumb(this.l(\"Home\"), false, \"/\"), new BreadCrumb(this.l(\"Survey_Details\"), false, `../../../../info/${this.surveyID}`), new BreadCrumb(this.l(\"Preview_Details\"), true));\r\n\r\n    this.pageHeaderOptions = new PageHeaderOptions();\r\n    this.pageHeaderOptions.searchTextBox.active = false;\r\n    this.pageHeaderOptions.breadCrumb.active = true;\r\n    this.pageHeaderOptions.breadCrumb.breadCrumbItems = this.breadCrumb;\r\n\r\n    this.audienceTypeRadioButton = new RadioButtonOptions();\r\n    this.audienceTypeRadioButton.name = \"AudienceType\";\r\n    this.audienceTypeRadioButton.value = AudienceType.Internal as any;\r\n    this.audienceTypeRadioButton.items = [{ text: this.l('InternalUsers'), value: AudienceType.Internal }, { text: this.l('ExternalUsers'), value: AudienceType.External }];\r\n\r\n    this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n\r\n\r\n    this.surveyService.preview(this.surveyID).subscribe((res) => {\r\n\r\n      this.previewForm = new FormGroup({});\r\n\r\n      this.previewSurveyOptions = new FormOptions();\r\n      this.previewSurveyOptions.FormGroup = this.previewForm;\r\n      this.previewSurveyOptions.GetModelFunction = this.getPreviewModel;\r\n      this.previewSurveyOptions.ServiceSubmitFunction = this.getPreviewFunction;\r\n      this.previewSurveyOptions.OnSuccessHandler = this.onSuccessDeleteHandler;\r\n      this.previewSurveyOptions.DisableSuccessNotification = true;\r\n\r\n      this.surveyInfo = res as any;\r\n      this.pageHeaderOptions.titleValue = this.surveyInfo.title.current_FailOver;\r\n\r\n      if (this.surveyInfo.declaration.english || this.surveyInfo.declaration.arabic) {\r\n        this.declarationCheckBoxForm = new CheckBoxOptions();\r\n        this.declarationCheckBoxForm.name = \"declaration\";\r\n        this.declarationCheckBoxForm.labelValue = this.EN ? this.surveyInfo.declaration.english : this.surveyInfo.declaration.arabic;\r\n        this.declarationCheckBoxForm.isRequired = true;\r\n      }\r\n\r\n      this.surveyFormField = new SurveyFormOptions();\r\n      this.surveyFormField.Name = \"SurveyFields\";\r\n      this.surveyFormField.Readonly = false;\r\n      switch (this.audienceTypeID) {\r\n        case AudienceType.Both:\r\n          this.showAudienceType = true;\r\n          this.surveyFormField.QuestionList = this.surveyInfo.questions.filter(item => item.audienceItemID == AudienceType.Internal || item.audienceItemID == AudienceType.Both);\r\n          this.showInternal = true;\r\n          this.showExternal = false;\r\n          break;\r\n        case AudienceType.Internal:\r\n          this.showAudienceType = false;\r\n          this.showInternal = true;\r\n          this.showExternal = false;\r\n          this.surveyFormField.QuestionList = this.surveyInfo.questions.filter(item => item.audienceItemID == AudienceType.Internal || item.audienceItemID == AudienceType.Both);\r\n          break;\r\n        case AudienceType.External:\r\n          this.showAudienceType = false;\r\n          this.showInternal = false;\r\n          this.showExternal = true;\r\n          this.loadExternalControls();\r\n          this.surveyFormField.QuestionList = this.surveyInfo.questions.filter(item => item.audienceItemID == AudienceType.External || item.audienceItemID == AudienceType.Both);\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n      this.isDateLoaded = true;\r\n    });\r\n  }\r\n\r\n  getPreviewModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.previewForm.value;\r\n    paramArray.push(resultModel);\r\n    return paramArray;\r\n  };\r\n  getPreviewFunction = (modal): Observable<any> => {\r\n    console.log(this.surveyFormField.QuestionList);\r\n    return;\r\n  };\r\n  ChangeAudienceTypeValue(value) {\r\n    switch (value) {\r\n      case AudienceType.Internal:\r\n        this.showInternal = true;\r\n        this.showExternal = false;\r\n        this.surveyFormField.QuestionList = this.surveyInfo.questions.filter(item => item.audienceItemID == AudienceType.Internal || item.audienceItemID == AudienceType.Both);\r\n        break;\r\n\r\n      case AudienceType.External:\r\n        this.showInternal = false;\r\n        this.showExternal = true;\r\n        this.loadExternalControls();\r\n        this.surveyFormField.QuestionList = this.surveyInfo.questions.filter(item => item.audienceItemID == AudienceType.External || item.audienceItemID == AudienceType.Both);\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  loadExternalControls() {\r\n    this.name = new MultiLingualTextBoxOptions();\r\n    this.name.name = \"Name\";\r\n    this.name.arabicLabelKey = \"NameInArabic\";\r\n    this.name.englishLabelKey = \"NameInEnglish\";\r\n    this.name.isRequired = true;\r\n    this.name.maxLength = 100;\r\n    this.name.viewType = ControlLayout.Vertical;\r\n\r\n    this.email = new TextBoxOptions();\r\n    this.email.name = \"Email\";\r\n    this.email.labelKey = \"Email\";\r\n    this.email.type = InputType.Email;\r\n    this.email.isRequired = true;\r\n    this.email.viewType = ControlLayout.Vertical;\r\n    this.email.forceDirection = ForceDirection.English;\r\n    this.email.maxLength = 100;\r\n  }\r\n}\r\n","<bbsf-page-header-component [options]=\"pageHeaderOptions\" ></bbsf-page-header-component>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n  <div class=\"info-container\" *ngIf=\"isDateLoaded\">\r\n    <p class=\"card-description mt-0 mb-6\">\r\n      {{EN?surveyInfo.description.english:surveyInfo.description.arabic}}\r\n    </p>\r\n    <div class=\"chart-container\">\r\n      <BBSF-Form [options]=\"previewSurveyOptions\">\r\n        <div class=\"preview-question\">\r\n          <BBSF-RadioButton *ngIf=\"showAudienceType\" [options]=\"audienceTypeRadioButton\" (OnChange)=\"ChangeAudienceTypeValue($event)\" [group]=\"previewForm\"></BBSF-RadioButton>\r\n        </div>\r\n        <survey-form *ngIf=\"showInternal\" #previewQuestionModal [options]=\"surveyFormField\" [group]=\"previewForm\"></survey-form>\r\n        <div class=\"external-form\" *ngIf=\"showExternal\">\r\n          <BBSF-MultiLingualTextBox [options]=\"name\" [group]=\"previewForm\">\r\n          </BBSF-MultiLingualTextBox>\r\n          <BBSF-TextBox [options]=\"email\" [group]=\"previewForm\"></BBSF-TextBox>\r\n        </div>\r\n        <survey-form *ngIf=\"showExternal\" #previewQuestionModal [options]=\"surveyFormField\" [group]=\"previewForm\"></survey-form>\r\n        <div class=\"survey-preview\" *ngIf=\"surveyInfo.declaration.english||surveyInfo.declaration.arabic\">\r\n          <div class=\"survey-preview-data\">\r\n            <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n            <div class=\"survey-preview-question\">\r\n              <div class=\"survey-answer\">\r\n                <BBSF-CheckBox [options]=\"declarationCheckBoxForm\" [group]=\"previewForm\"></BBSF-CheckBox>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"d-flex justify-content-end\">\r\n          <button type=\"button\" class=\"btn btn-sm btn-light me-3\" [routerLink]=\"['../../../../info',surveyID]\">\r\n            {{l(\"CancelLabel\")}}\r\n          </button>\r\n          <button type=\"submit\" [disabled]=\"true\" class=\"btn btn-sm btn-brand \">{{l(\"Submit\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n","import { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { UtilityService } from '@bnsights/bbsf-utilities';\r\n\r\n@Pipe({\r\n  name: 'surveyDate',\r\n  standalone: false\r\n})\r\nexport class SurveyDatePipe implements PipeTransform {\r\n  constructor(public datePipe: DatePipe, private utilityservice: UtilityService) { }\r\n  transform(value: Date, format: string = null) {\r\n    return value ? this.datePipe.transform(value, format ?? 'dd MMMM hh:mm a', '', localStorage.getItem('language')) : this.utilityservice.getResourceValue(\"NA\");\r\n  }\r\n}\r\n","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppBaseComponent, BreadCrumb, FormOptions, PageHeaderOptions } from '@bnsights/bbsf-controls';\r\nimport { SurveyFormOptions } from '../../../../models/SurveyModels/survey-form-options';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\nimport { SurveyFormComponent } from '../../../survey-form/survey-form.component';\r\n\r\n@Component({\r\n    selector: 'app-result',\r\n    templateUrl: './result.component.html',\r\n    standalone: false\r\n})\r\nexport class ResultQuestionComponent extends AppBaseComponent implements OnInit {\r\n  pageHeaderOptions: PageHeaderOptions;\r\n  breadCrumb: BreadCrumb[];\r\n  surveySubmissionForm = new FormGroup({});\r\n  surveySubmissionID: any;\r\n  surveyFormField: SurveyFormOptions;\r\n  isDateLoaded: boolean = false;\r\n  @ViewChild('PreviewQuestionModal', { static: false }) previewQuestionModal: SurveyFormComponent;\r\n  previewSurveyOptions: any;\r\n  surveySubmissionInfo: any;\r\n  EN: boolean;\r\n  constructor(private injector: Injector, private surveyService: SurveyService, private activatedRoute: ActivatedRoute) {\r\n    super(injector);\r\n    this.surveySubmissionID = this.activatedRoute.snapshot.params[\"id\"];\r\n  }\r\n\r\n  ngOnInit(): void {\r\n\r\n    this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n\r\n    this.surveyService.previewSurveySubmissionResult(this.surveySubmissionID).subscribe((res) => {\r\n      this.surveySubmissionInfo = res as any;\r\n      this.surveySubmissionForm = new FormGroup({});\r\n      this.breadCrumb = [];\r\n      this.breadCrumb.push(new BreadCrumb(this.l(\"Home\"), false, \"/\"), new BreadCrumb(this.l(\"Survey_Details\"), false, `../../../info/${this.surveySubmissionInfo.surveyID}`), new BreadCrumb(this.l(\"Submission_Preview\"), true));\r\n\r\n      this.pageHeaderOptions = new PageHeaderOptions();\r\n      this.pageHeaderOptions.titleValue = this.l(\"Submission_Preview\");\r\n      this.pageHeaderOptions.searchTextBox.active = false;\r\n      this.pageHeaderOptions.breadCrumb.active = true;\r\n      this.pageHeaderOptions.breadCrumb.breadCrumbItems = this.breadCrumb;\r\n\r\n      this.previewSurveyOptions = new FormOptions();\r\n      this.previewSurveyOptions.FormGroup = this.surveySubmissionForm;\r\n      this.previewSurveyOptions.DisableSuccessNotification = true;\r\n\r\n      this.surveyFormField = new SurveyFormOptions();\r\n      this.surveyFormField.Name = \"SurveyFields\";\r\n      this.surveyFormField.QuestionList = this.surveySubmissionInfo.questions;\r\n      this.surveyFormField.Readonly = true;\r\n      this.isDateLoaded = true;\r\n    });\r\n  }\r\n\r\n}\r\n","<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" ></bbsf-page-header-component>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n  <div class=\"info-container\" *ngIf=\"isDateLoaded\">\r\n    <div class=\"card-data flex-column\">\r\n      <div class=\"card-item mb-5\">\r\n        <div class=\"symbol symbol-35px me-4\">\r\n          <span class=\"user-initials-circle\"> {{calculateInitials(surveySubmissionInfo.localizedUserName)}} </span>\r\n        </div>\r\n        <div class=\"card-text\">\r\n          <h4 class=\"card-value\">\r\n            {{surveySubmissionInfo.localizedUserName}}\r\n          </h4>\r\n          <div class=\"card-subtext\">\r\n            {{l('Score')}} :\r\n            <span class=\"badge badge-square badge-brand ms-2 badge-xs badge-sm\">\r\n              {{surveySubmissionInfo.averageScore}}\r\n            </span>\r\n          </div>\r\n        </div>\r\n        <div class=\"icon-boxes\">\r\n          <div class=\"icon-box\" ngbTooltip=\"{{l('Date')}}\">\r\n            <div class=\"symbol\">\r\n              <span class=\"symbol-label\">\r\n                <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n                </span>\r\n              </span>\r\n            </div>\r\n            <span class=\"sub-text\" style=\" white-space: nowrap;\">\r\n              {{surveySubmissionInfo.createdDate|surveyDate}}\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"card-item bg-white border-gray-300 border\">\r\n        <BBSF-Form [options]=\"previewSurveyOptions\" class=\"w-100\">\r\n          <survey-form #previewQuestionModal [options]=\"surveyFormField\" [group]=\"surveySubmissionForm\"></survey-form>\r\n        </BBSF-Form>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { SurveyMode } from \"../../Enums/Enums\";\r\n\r\nexport class SurveyConfig {\r\n\r\n    static surveyMode: SurveyMode = SurveyMode.Survey_Full_Access\r\n\r\n    static setSurveyMode(mode: SurveyMode) {\r\n        this.surveyMode = mode;\r\n    }\r\n\r\n}","export class DeleteModelDTO {\r\n  ID_GUID: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigurationService, RequestHandlerService, RequestOptionsModel } from '@bnsights/bbsf-utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { DeleteModelDTO } from '../models/SurveyModels/model';\r\nimport { SurveyQuestionDTO } from '../models/SurveyModels/survey-question';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class SurveyQuestionService {\r\n  apiURL: string = \"\";\r\n  constructor(private http: RequestHandlerService, private configurationService: ConfigurationService) {\r\n    this.getApiUrl();\r\n  }\r\n\r\n  add(addModal: SurveyQuestionDTO): Observable<any> {\r\n    this.getApiUrl();\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.disableBlockUI = false;\r\n    return this.http.post(this.apiURL, addModal, null, null, options);\r\n  }\r\n  get(id: string) {\r\n    this.getApiUrl();\r\n    return this.http.get(this.apiURL + \"GetQuestion/\" + `${id}`);\r\n  }\r\n  edit(editModal: SurveyQuestionDTO): Observable<any> {\r\n    this.getApiUrl();\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.disableBlockUI = false;\r\n    return this.http.put(this.apiURL, editModal, null, null, options);\r\n  }\r\n  delete(id: string) {\r\n    this.getApiUrl();\r\n    var model = new DeleteModelDTO();\r\n    model.ID_GUID = id;\r\n    return this.http.post(this.apiURL + \"DeleteQuestion\", model);\r\n  }\r\n\r\n  loadAddDropdown(id: string) {\r\n    this.getApiUrl();\r\n    let options: RequestOptionsModel = new RequestOptionsModel();\r\n    options.disableBlockUI = true;\r\n    return this.http.get(this.apiURL + `AddDDLs?id=` + `${id}`, null, null, options);\r\n  }\r\n\r\n  updateDisplayOrder(model: any) {\r\n    this.getApiUrl();\r\n    return this.http.post(this.apiURL + \"UpdateDisplayOrder\", model);\r\n  }\r\n  getApiUrl() {\r\n    this.apiURL = this.configurationService.getConfigurationValue(\"Survey_ApiUrl\");\r\n  }\r\n\r\n}\r\n","import { EnglishArabicDTO, FileDTO } from \"@bnsights/bbsf-controls\";\r\nexport class AddSurveyDTO {\r\n    constructor() {\r\n        this.Title = new EnglishArabicDTO();\r\n        this.Description = new EnglishArabicDTO();\r\n        this.Declaration = new EnglishArabicDTO();\r\n    }\r\n    ID: number;\r\n    ID_GUID: string;\r\n    Title: EnglishArabicDTO;\r\n    Description: EnglishArabicDTO;\r\n    Declaration: EnglishArabicDTO;\r\n    Visible: boolean;\r\n    HasCaptchaForExternal: boolean;\r\n    HasSectorOrDepartment: boolean;\r\n    SelectedSectorIDs: string[] = [];\r\n    SelectedDepartmentIDs: string[] = [];\r\n    StartDate: Date;\r\n    EndDate: Date;\r\n    StatusItemID: string;\r\n    AudienceItemID: string;\r\n}\r\n","import { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AppBaseComponent, ControlLayout, DropdownOptions, EnglishArabicDTO, FormOptions, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { AudienceType } from '../../../Enums/Enums';\r\nimport { AddSurveyDTO } from '../../../models/SurveyModels/add-survey';\r\nimport { SurveyService } from '../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-edit-survey',\r\n    templateUrl: './edit-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class EditSurveyComponent extends AppBaseComponent implements OnInit {\r\n\r\n  editSurveyForm = new FormGroup({});\r\n  editSurveyFormOptions = new FormOptions();\r\n  title: MultiLingualTextBoxOptions;\r\n  description: MultiLingualTextAreaOptions;\r\n  declaration: MultiLingualTextAreaOptions;\r\n  visible: ToggleSlideOptions;\r\n  hasSectorOrDepartment: ToggleSlideOptions;\r\n  sector: DropdownOptions;\r\n  department: DropdownOptions;\r\n  audience: DropdownOptions;\r\n  showHasSectorOrDepartment: boolean;\r\n  showSector: boolean;\r\n  showDepartment: boolean;\r\n  id: string;\r\n  model: any;\r\n  showSectorOrDepartmentError: boolean;\r\n  sectorOrDepartmentError: string;\r\n  hasCaptcha: ToggleSlideOptions;\r\n  showHasCaptcha: boolean;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n  }\r\n  @Input() pagingElement;\r\n  @Input() onSuccessHandler;\r\n  @ViewChild('EditModal', { static: false }) modal: ElementRef;\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  showEditModal(id: string) {\r\n    this.id = id;\r\n    this.surveyService.get(id).subscribe((res) => {\r\n      this.showDepartment = true;\r\n      this.showSector = true;\r\n      this.editSurveyForm = new FormGroup({});\r\n      let value = res as any;\r\n      this.model = value.survey;\r\n\r\n      this.editSurveyFormOptions.formGroup = this.editSurveyForm;\r\n      this.editSurveyFormOptions.pagingReference = this.pagingElement;\r\n      this.editSurveyFormOptions.disableSuccessNotification = true;\r\n      this.editSurveyFormOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessEditHandler;\r\n      this.editSurveyFormOptions.getModelFunction = this.getEditModel;\r\n      this.editSurveyFormOptions.serviceSubmitFunction = this.getEditFunction;\r\n      this.editSurveyFormOptions.disableSuccessNotification = true;\r\n\r\n      this.title = new MultiLingualTextBoxOptions();\r\n      this.title.name = \"Title\";\r\n      this.title.arabicLabelKey = \"TitleAR\";\r\n      this.title.englishLabelKey = \"TitleEN\";\r\n      this.title.maxLength = 225;\r\n      this.title.isRequired = true;\r\n      this.title.viewType = ControlLayout.Vertical;\r\n      this.title.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n      let title = new EnglishArabicDTO();\r\n      title.arabic = this.model.title.arabic;\r\n      title.english = this.model.title.english;\r\n      this.title.value = title;\r\n\r\n      this.description = new MultiLingualTextAreaOptions();\r\n      this.description.name = \"Description\";\r\n      this.description.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.description.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.description.maxLength = 4000;\r\n      this.description.minLength = 2;\r\n      this.description.rows = 2;\r\n      this.description.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = this.model.description.arabic;\r\n      description.english = this.model.description.english;\r\n      this.description.value = description;\r\n\r\n      this.declaration = new MultiLingualTextAreaOptions();\r\n      this.declaration.name = \"Declaration\";\r\n      this.declaration.arabicLabelKey = \"DeclarationInArabic\";\r\n      this.declaration.englishLabelKey = \"DeclarationInEnglish\";\r\n      this.declaration.maxLength = 4000;\r\n      this.declaration.minLength = 2;\r\n      this.declaration.rows = 2;\r\n      this.declaration.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n      this.declaration.arabicLabelDescription = this.l(\"HintDeclarationArabicPlaceholder\");\r\n      this.declaration.englishLabelDescription = this.l(\"HintDeclarationEnglishPlaceholder\");\r\n      let declaration = new EnglishArabicDTO();\r\n      declaration.arabic = this.model.declaration.arabic;\r\n      declaration.english = this.model.declaration.english;\r\n      this.declaration.value = declaration;\r\n\r\n      this.audience = new DropdownOptions();\r\n      this.audience.name = \"AudienceItemID\";\r\n      this.audience.labelKey = \"Audience\";\r\n      this.audience.isRequired = true;\r\n      this.audience.viewType = ControlLayout.Vertical;\r\n      this.audience.singleSelection = true;\r\n      this.audience.showCheckbox = false;\r\n      this.audience.dataSource = value.audiences;\r\n      this.audience.selectedItems = this.model.audienceItemID;\r\n\r\n\r\n      this.hasSectorOrDepartment = new ToggleSlideOptions();\r\n      this.hasSectorOrDepartment.name = \"HasSectorOrDepartment\";\r\n      this.hasSectorOrDepartment.labelKey = \"VisibleToCertainSectorORDepartment\";\r\n      this.hasSectorOrDepartment.labelDescription = this.l(\"HintVisibleToCertainSectorORDepartment\");\r\n      this.hasSectorOrDepartment.value = this.model.hasSectorOrDepartment;\r\n\r\n      this.visible = new ToggleSlideOptions();\r\n      this.visible.name = \"Visible\";\r\n      this.visible.labelKey = \"Visible\";\r\n      this.visible.labelDescription = this.l(\"GenericVisibleHint\");\r\n      this.visible.value = this.model.visible;\r\n\r\n      this.hasCaptcha = new ToggleSlideOptions();\r\n      this.hasCaptcha.name = \"HasCaptcha\";\r\n      this.hasCaptcha.labelKey = \"HasCaptcha\";\r\n      this.hasCaptcha.labelDescription = this.l(\"HasCaptchaHint\");\r\n      this.hasCaptcha.value = this.model.hasCaptchaForExternal;\r\n\r\n      this.sector = new DropdownOptions();\r\n      this.sector.name = \"Sector\";\r\n      this.sector.labelKey = \"VisibleToCertainSector\";\r\n      this.sector.singleSelection = false;\r\n      this.sector.showCheckbox = false;\r\n      this.sector.dataSource = value.sectors;\r\n\r\n      this.department = new DropdownOptions();\r\n      this.department.name = \"Department\";\r\n      this.department.labelKey = \"VisibleToCertainDepartment\";\r\n      this.department.singleSelection = false;\r\n      this.department.showCheckbox = false;\r\n      this.department.dataSource = value.departments;\r\n\r\n      this.changeAudience(this.model.audienceItemID);\r\n      this.changeHasSectorOrDepartment(this.model.hasSectorOrDepartment);\r\n      this.sector.selectedItems = this.model.selectedSectorIDs;\r\n      this.department.selectedItems = this.model.selectedDepartmentIDs;\r\n\r\n\r\n\r\n      this.openModal(this.modal, 'xl');\r\n\r\n    });\r\n  }\r\n\r\n  loadDepartmentList = () => {\r\n    this.surveyService.loadDepartmentsDropdown(this.sector.selectedItems).subscribe(r => {\r\n      let result = r as any;\r\n      this.department.dataSource = result;\r\n    });\r\n  };\r\n\r\n  loadSectorList = () => {\r\n    this.surveyService.loadSectorsDropdown(this.department.selectedItems).subscribe(r => {\r\n      let result = r as any;\r\n      this.sector.dataSource = result;\r\n    });\r\n  };\r\n\r\n\r\n  changeAudience(key) {\r\n    switch (key) {\r\n      case AudienceType.Internal:\r\n        this.showHasSectorOrDepartment = true;\r\n        this.changeHasSectorOrDepartment(this.model.hasSectorOrDepartment);\r\n        this.sector.selectedItems = this.model.selectedSectorIDs;\r\n        this.department.selectedItems = this.model.selectedDepartmentIDs;\r\n        this.showHasCaptcha = false;\r\n        break;\r\n      case AudienceType.Both:\r\n        this.showHasSectorOrDepartment = true;\r\n        this.showHasCaptcha = true;\r\n        this.changeHasSectorOrDepartment(this.model.hasSectorOrDepartment);\r\n        this.sector.selectedItems = this.model.selectedSectorIDs;\r\n        this.department.selectedItems = this.model.selectedDepartmentIDs;\r\n        break;\r\n      case AudienceType.External:\r\n        this.showHasSectorOrDepartment = false;\r\n        this.showHasCaptcha = true;\r\n        this.department.selectedItems = [];\r\n        this.sector.selectedItems = [];\r\n        this.showDepartment = false;\r\n        this.showSector = false;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  changeHasSectorOrDepartment(value) {\r\n    if (value) {\r\n      this.showDepartment = true;\r\n      this.showSector = true;\r\n    }\r\n    else {\r\n      this.showDepartment = false;\r\n      this.showSector = false;\r\n      this.showSectorOrDepartmentError = false;\r\n\r\n    }\r\n  }\r\n  getEditModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.editSurveyForm.value as any;\r\n    let editModel: AddSurveyDTO = new AddSurveyDTO();\r\n    editModel.ID_GUID = this.id;\r\n    editModel.Title.arabic = resultModel.Title.Arabic;\r\n    editModel.Title.english = resultModel.Title.English;\r\n    editModel.Description.arabic = resultModel.Description.Arabic;\r\n    editModel.Description.english = resultModel.Description.English;\r\n    editModel.Declaration.arabic = resultModel.Declaration.Arabic;\r\n    editModel.Declaration.english = resultModel.Declaration.English;\r\n    editModel.Visible = resultModel.Visible;\r\n    editModel.AudienceItemID = resultModel.AudienceItemID;\r\n    editModel.HasSectorOrDepartment = this.showHasSectorOrDepartment ? resultModel.HasSectorOrDepartment : false;\r\n    if (this.showHasCaptcha)\r\n      editModel.HasCaptchaForExternal = resultModel.HasCaptcha;\r\n    if (editModel.HasSectorOrDepartment) {\r\n      if (resultModel.Department || resultModel.Sector) {\r\n        this.showSectorOrDepartmentError = false;\r\n        editModel.SelectedDepartmentIDs = resultModel.Department ? resultModel.Department : [];\r\n        editModel.SelectedSectorIDs = resultModel.Sector ? resultModel.Sector : [];\r\n      }\r\n      else {\r\n        this.showSectorOrDepartmentError = true;\r\n        this.sectorOrDepartmentError = this.l(\"SectorOrDepartmentError\");\r\n        return;\r\n      }\r\n\r\n    }\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getEditFunction = (editModel): Observable<any> => {\r\n    if (!this.showSectorOrDepartmentError)\r\n      return this.surveyService.editSurvey(editModel);\r\n  };\r\n}\r\n","<ng-template #EditModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{l(\"Edit_Survey\")}}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\">\r\n      </div>\r\n    </button>\r\n  </div>\r\n  <BBSF-Form [options]=\"editSurveyFormOptions\">\r\n    <div class=\"modal-body\">\r\n      <BBSF-MultiLingualTextBox [options]=\"title\" [group]=\"editSurveyForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-MultiLingualTextArea [options]=\"description\" [group]=\"editSurveyForm\"></BBSF-MultiLingualTextArea>\r\n      <BBSF-DropdownList [options]=\"audience\" (OnChange)=\"changeAudience($event)\" [group]=\"editSurveyForm\">\r\n      </BBSF-DropdownList>\r\n\r\n      <BBSF-MultiLingualTextArea [options]=\"declaration\" [group]=\"editSurveyForm\"></BBSF-MultiLingualTextArea>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"visible\" [group]=\"editSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide [options]=\"hasSectorOrDepartment\" *ngIf=\"showHasSectorOrDepartment\"\r\n            (OnChange)=\"changeHasSectorOrDepartment($event)\" [group]=\"editSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n        <div class=\"col-md-6\" *ngIf=\"showHasCaptcha\">\r\n          <BBSF-Toggleslide  [options]=\"hasCaptcha\" [group]=\"editSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"required-text alert-danger\" *ngIf=\"showSectorOrDepartmentError\">\r\n        <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\"\r\n          [inlineSVG]=\"'/assets/images/info.svg'\">\r\n\r\n        </span>\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-danger\">{{sectorOrDepartmentError}}</div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"sector\" (OnChange)=\"loadDepartmentList()\" *ngIf=\"showSector\"\r\n            [group]=\"editSurveyForm\"></BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"department\" (OnChange)=\"loadSectorList()\" *ngIf=\"showDepartment\"\r\n            [group]=\"editSurveyForm\"></BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"modal-footer\">\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\" (click)=\"modal.dismiss()\">\r\n        {{l(\"CancelLabel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\" class=\"btn btn-sm btn-brand\">{{l(\"SaveLabel\")}}</button>\r\n    </div>\r\n  </BBSF-Form>\r\n</ng-template>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyService } from '../../../Services/survey.service';\r\n\r\n\r\n@Component({\r\n    selector: 'app-delete-survey',\r\n    templateUrl: './delete-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class DeleteSurveyComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false }) deleteConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.delete;\r\n    this.deleteConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.deleteConfirmationOptions.disableSuccessNotification = true;\r\n    this.deleteConfirmationOptions.confirmationHeader = this.l('ContinueConfirmationDeleteSurveyMessage');\r\n    this.deleteConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n  }\r\n  showDeleteModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n\r\n    setTimeout(() => {\r\n      this.deleteConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n  delete = (id: string): Observable<any> => {\r\n    return this.surveyService.delete(id);\r\n  };\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"deleteConfirmationOptions\" #deleteConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { EnglishArabicDTO } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class QuestionFieldDTOOptions {\r\n  constructor() {\r\n    this.Description = new EnglishArabicDTO();\r\n  }\r\n  Name: string;\r\n  Description: EnglishArabicDTO;\r\n  IsRequired: boolean;\r\n  IsShowInCreate: boolean;\r\n  IsShowInEdit: boolean;\r\n  IsAdditionalProperty: boolean;\r\n  Size: number;\r\n  ColumnsCount: number;\r\n  MinLength: number;\r\n  MaxLength: number;\r\n  Rows: number;\r\n  DataSourceLookupID?: string;\r\n  LanguageItemID: string;\r\n  HasSearch: boolean;\r\n  IsMultiple: boolean;\r\n  HaveIdeaFieldValue: boolean;\r\n  MaxFileCount: number;\r\n  MaxFileSizeInMB: number;\r\n  AllowedExtensions?: string[];\r\n  IsExistingLookup: boolean;\r\n}","import { EnglishArabicDTO, FileDTO } from \"@bnsights/bbsf-controls\";\r\nimport { QuestionFieldDTOOptions } from \"./survey-field-options\";\r\nimport { SurveyQuestionOptionDTO } from \"./survey-question-option\";\r\n\r\nexport class SurveyQuestionDTO {\r\n    constructor() {\r\n        this.Text = new EnglishArabicDTO();\r\n        this.Description = new EnglishArabicDTO();\r\n        this.Options = new QuestionFieldDTOOptions();\r\n    }\r\n    ID: number;\r\n    ID_GUID: string;\r\n    SurveyID: string;\r\n    QuestionTypeItemID: string;\r\n    AudienceItemID: string;\r\n    Text: EnglishArabicDTO;\r\n    Description: EnglishArabicDTO;\r\n    IsVisible: boolean;\r\n    DisplayOrder: number;\r\n    IsRequired: boolean;\r\n    IsAllowScoring: boolean;\r\n    IsRelatedToSurveyQuestion: boolean;\r\n    TotalScore: number;\r\n    Options: QuestionFieldDTOOptions;\r\n    QuestionOptions: SurveyQuestionOptionDTO[] = [];\r\n\r\n\r\n}\r\n","import { EnglishArabicDTO, FileDTO, MultipleFileUploadModel } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class SurveyQuestionOptionDTO {\r\n  constructor(model?) {\r\n    this.Name = new EnglishArabicDTO();\r\n    if (model) {\r\n      this.Name.arabic = model.name.arabic;\r\n      this.Name.english = model.name.english;\r\n      this.DisplayOrder = model.displayOrder;\r\n      this.Score = model.score;\r\n      this.ID_GUID = model.iD_GUID;\r\n      this.LinkedQuestions = model.linkedQuestions;\r\n\r\n    }\r\n\r\n  }\r\n  ID_GUID: string;\r\n  Name: EnglishArabicDTO;\r\n  DisplayOrder: number = 0;\r\n  Score: number = 0;\r\n  LinkedQuestions: string[] = [];\r\n}\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport {\r\n  Component,\r\n  ElementRef,\r\n  Injector,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n  AbstractControl,\r\n  FormGroup,\r\n  ValidatorFn,\r\n  Validators,\r\n} from '@angular/forms';\r\nimport {\r\n  AppBaseComponent,\r\n  ControlLayout,\r\n  CustomValidation,\r\n  DropdownOptions,\r\n  EnglishArabicDTO,\r\n  ForceDirection,\r\n  FormOptions,\r\n  InputType,\r\n  MultiLingualTextAreaOptions,\r\n  MultiLingualTextBoxOptions,\r\n  RangeNumber,\r\n  TextBoxOptions,\r\n  ToggleSlideOptions,\r\n} from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { AudienceType, SurveyOptionType } from '../../../../Enums/Enums';\r\nimport { SurveyQuestionDTO } from '../../../../models/SurveyModels/survey-question';\r\nimport { SurveyQuestionOptionDTO } from '../../../../models/SurveyModels/survey-question-option';\r\nimport { SurveyQuestionService } from '../../../../Services/survey-question.service';\r\n\r\n@Component({\r\n    selector: 'app-edit-question',\r\n    templateUrl: './edit-question.component.html',\r\n    standalone: false\r\n})\r\nexport class EditQuestionComponent extends AppBaseComponent implements OnInit {\r\n  questionType: SurveyOptionType;\r\n  isNumber: boolean = false;\r\n  isText: boolean = false;\r\n  isFile: boolean = false;\r\n  isMultiFile: boolean = false;\r\n  isImage: boolean = false;\r\n  isSelect: boolean = false;\r\n  SizeList: any[] = [];\r\n\r\n  editModelForm = new FormGroup({});\r\n  editSurveyQuestionFormOptions = new FormOptions();\r\n  editQuestion: MultiLingualTextBoxOptions;\r\n  editDescription: MultiLingualTextAreaOptions;\r\n  editQuestionType: DropdownOptions;\r\n  audience: DropdownOptions;\r\n  editRequired: ToggleSlideOptions;\r\n  editAllowScore: ToggleSlideOptions;\r\n  editHasSearch: ToggleSlideOptions;\r\n  editIsActive: ToggleSlideOptions;\r\n  editMinLength: TextBoxOptions;\r\n  editMaxLength: TextBoxOptions;\r\n  editRowsNumber: TextBoxOptions;\r\n  editMaxFileSize: TextBoxOptions;\r\n  editMaxFileCount: TextBoxOptions;\r\n  editFilesExtensions: DropdownOptions;\r\n  editSize: DropdownOptions;\r\n  isEditFormChange: boolean = false;\r\n  numberValidation: CustomValidation = new CustomValidation();\r\n  @ViewChild('EditModal', { static: false }) EditModal: ElementRef;\r\n\r\n  editOptionForm = new FormGroup({});\r\n  editNameOption: MultiLingualTextBoxOptions;\r\n  scoreNumber: TextBoxOptions;\r\n  optionList: SurveyQuestionOptionDTO[] = [];\r\n  editOptionLinkedQuestions: DropdownOptions;\r\n  showScoreOption: boolean = false;\r\n  showOptions: boolean = false;\r\n  errorMessage: string = null;\r\n  totalScore: number = 0;\r\n  mainFormControls: any[];\r\n  surveyID: string;\r\n  editOptionId: TextBoxOptions;\r\n  questionID: any;\r\n  question: any;\r\n  editDisplayOrder: TextBoxOptions;\r\n  public audienceType = AudienceType;\r\n  audienceTypeID: any;\r\n  surveyAudienceTypeID: any;\r\n  displayOrderOption: TextBoxOptions;\r\n  isOptionInEditMode: boolean;\r\n  Questions: any[];\r\n  isViewOnly: boolean;\r\n  idOption: TextBoxOptions;\r\n\r\n  constructor(\r\n    private injector: Injector,\r\n    private surveyQuestionService: SurveyQuestionService\r\n  ) {\r\n    super(injector);\r\n  }\r\n  @Input() pagingElement;\r\n  @Input() onSuccessEditHandler;\r\n\r\n  ngOnInit(): void {\r\n    for (let index = 0; index < 12; index++) {\r\n      var item = { key: index + 1, value: `${index + 1}` };\r\n      this.SizeList.push(item);\r\n    }\r\n    this.numberValidation.functionBody = (\r\n      control: AbstractControl\r\n    ): { [key: string]: any; } => {\r\n      if (!control.value) {\r\n        return null;\r\n      }\r\n      if (!control.value.toString().match(/^[0-9]*$/)) {\r\n        this.numberValidation.massage = this.l('IntegerNumberValidationKey');\r\n        return { customerError: true };\r\n      }\r\n      if (!control.value.toString().match(/^[+]?([.]\\d+|\\d+[.]?\\d*)$/)) {\r\n        this.numberValidation.massage = this.l('PositiveNumberValidationKey');\r\n        return { customerError: true };\r\n      }\r\n\r\n      return null;\r\n    };\r\n  }\r\n\r\n  changeScoring(value) {\r\n    this.showScoreOption = value;\r\n    if (!value && this.editOptionForm.controls['Score']) {\r\n      this.editOptionForm.controls['Score'].reset();\r\n      this.editOptionForm.controls['Score'].clearValidators();\r\n      this.editOptionForm.controls['Score'].updateValueAndValidity();\r\n    }\r\n  }\r\n  updateLengthValidator(name, max, min) {\r\n    let control = this.editOptionForm.controls[name];\r\n    if (control) {\r\n      control.setErrors(null);\r\n      control.clearValidators();\r\n      control.updateValueAndValidity();\r\n      let validationRules = [];\r\n      validationRules.push(Validators.min(min));\r\n      validationRules.push(Validators.max(max));\r\n      validationRules.push(Validators.required);\r\n      control.addValidators(validationRules);\r\n      control.updateValueAndValidity();\r\n    }\r\n  }\r\n\r\n  changeDataType(key) {\r\n    this.updateFormStatus(key);\r\n    switch (key) {\r\n      case SurveyOptionType.Text:\r\n        this.updateLengthValidator(this.editMaxLength.name, 255, 1);\r\n        this.updateLengthValidator(this.editMinLength.name, 255, 1);\r\n        this.editMaxLength.numberRange.from = 1;\r\n        this.editMaxLength.numberRange.to = 255;\r\n        this.editMinLength.numberRange.from = 1;\r\n        this.editMinLength.numberRange.to = 255;\r\n        this.isText = true;\r\n        this.isNumber = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.MultilineText:\r\n        this.updateLengthValidator(this.editMaxLength.name, 4000, 1);\r\n        this.updateLengthValidator(this.editMinLength.name, 4000, 1);\r\n        this.editMaxLength.numberRange.from = 1;\r\n        this.editMaxLength.numberRange.to = 4000;\r\n        this.editMinLength.numberRange.from = 1;\r\n        this.editMinLength.numberRange.to = 4000;\r\n        this.isText = true;\r\n        this.isNumber = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.Number:\r\n        this.updateLengthValidator(this.editMaxLength.name, 100, 1);\r\n        this.updateLengthValidator(this.editMinLength.name, 100, 1);\r\n        this.editMaxLength.numberRange.from = 1;\r\n        this.editMaxLength.numberRange.to = 100;\r\n        this.editMinLength.numberRange.from = 1;\r\n        this.editMinLength.numberRange.to = 100;\r\n        this.isNumber = true;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.File:\r\n        this.isFile = true;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.MultiFile:\r\n        this.isMultiFile = true;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.Image:\r\n        this.isImage = true;\r\n        this.isMultiFile = false;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.MultipleSelect:\r\n      case SurveyOptionType.SingleSelect:\r\n      case SurveyOptionType.RadioButton:\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isSelect = true;\r\n        this.isImage = false;\r\n        break;\r\n      default:\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isSelect = false;\r\n        this.isImage = false;\r\n        break;\r\n    }\r\n  }\r\n  changeFormStatus(value) {\r\n    this.isEditFormChange = value;\r\n  }\r\n\r\n  editModal = (id, surveyAudienceTypeID, isViewOnly = false) => {\r\n    this.isViewOnly = isViewOnly;\r\n    this.isEditFormChange = false;\r\n    this.isNumber = false;\r\n    this.isText = false;\r\n    this.isFile = false;\r\n    this.isMultiFile = false;\r\n    this.isSelect = false;\r\n    this.isImage = false;\r\n    this.optionList = [];\r\n    this.errorMessage = null;\r\n    this.questionID = id;\r\n    this.surveyQuestionService.get(id).subscribe((res) => {\r\n      let result = res as any;\r\n      this.question = result.question;\r\n      this.Questions = result.questions;\r\n      this.surveyID = this.question.surveyID;\r\n      this.audienceTypeID = this.question.audienceItemID;\r\n      this.surveyAudienceTypeID = surveyAudienceTypeID;\r\n      this.editModelForm = new FormGroup({});\r\n      this.editOptionForm = new FormGroup({});\r\n\r\n      this.editSurveyQuestionFormOptions = new FormOptions();\r\n      this.editSurveyQuestionFormOptions.formGroup = this.editModelForm;\r\n      this.editSurveyQuestionFormOptions.getModelFunction = this.getEditModel;\r\n      this.editSurveyQuestionFormOptions.serviceSubmitFunction =\r\n        this.getEditFunction;\r\n      this.editSurveyQuestionFormOptions.pagingReference = this.pagingElement;\r\n      this.editSurveyQuestionFormOptions.onSuccessHandler =\r\n        this.onSuccessEditHandler;\r\n      this.editSurveyQuestionFormOptions.disableSuccessNotification = true;\r\n\r\n      let text = new EnglishArabicDTO();\r\n      text.arabic = this.question.text.arabic;\r\n      text.english = this.question.text.english;\r\n\r\n      this.editQuestion = new MultiLingualTextBoxOptions();\r\n      this.editQuestion.name = 'Text';\r\n      this.editQuestion.arabicLabelKey = 'QuestionInArabic';\r\n      this.editQuestion.englishLabelKey = 'QuestionInEnglish';\r\n      this.editQuestion.isRequired = true;\r\n      this.editQuestion.maxLength = 4000;\r\n      this.editQuestion.languageMode = this.getLanguageModeValue();\r\n      this.editQuestion.value = text;\r\n      this.editQuestion.isDisabled = isViewOnly;\r\n\r\n      this.editDescription = new MultiLingualTextAreaOptions();\r\n      this.editDescription.name = 'Description';\r\n      this.editDescription.arabicLabelKey = 'DescriptionInArabic';\r\n      this.editDescription.englishLabelKey = 'DescriptionInEnglish';\r\n      this.editDescription.isRequired = false;\r\n      this.editDescription.maxLength = 250;\r\n      this.editDescription.rows = 2;\r\n      this.editDescription.arabicLabelDescription = this.l(\r\n        'QuestionDescriptionHintArabic'\r\n      );\r\n      this.editDescription.englishLabelDescription = this.l(\r\n        'QuestionDescriptionHintEnglish'\r\n      );\r\n      this.editDescription.isDisabled = isViewOnly;\r\n\r\n      this.editDescription.languageMode = this.getLanguageModeValue();\r\n      let description = new EnglishArabicDTO();\r\n      description.arabic = this.question.description.arabic;\r\n      description.english = this.question.description.english;\r\n      this.editDescription.value = description;\r\n\r\n      this.editQuestionType = new DropdownOptions();\r\n      this.editQuestionType.name = 'QuestionTypeItemID';\r\n      this.editQuestionType.labelKey = 'PropertyType';\r\n      this.editQuestionType.isRequired = true;\r\n      this.editQuestionType.allowSearchFilter = true;\r\n      this.editQuestionType.dataSource = result.optionTypes;\r\n      this.editQuestionType.singleSelection = true;\r\n      this.editQuestionType.selectedItems = this.question.questionTypeItemID;\r\n      this.editQuestionType.notFoundText = this.l('NoResultFound');\r\n      this.editQuestionType.isDisabled = true;\r\n\r\n      this.audience = new DropdownOptions();\r\n      this.audience.name = 'AudienceItemID';\r\n      this.audience.labelKey = 'Audience';\r\n      this.audience.isRequired = true;\r\n      this.audience.viewType = ControlLayout.Vertical;\r\n      this.audience.singleSelection = true;\r\n      this.audience.showCheckbox = false;\r\n      this.audience.dataSource = result.audiences;\r\n      this.audience.selectedItems = this.question.audienceItemID;\r\n      this.audience.labelDescription = this.l('AudienceDescriptionHint');\r\n      this.audience.isDisabled = isViewOnly;\r\n\r\n      this.editSize = new DropdownOptions();\r\n      this.editSize.name = 'Size';\r\n      this.editSize.labelKey = 'Size';\r\n      this.editSize.isRequired = true;\r\n      this.editSize.allowSearchFilter = true;\r\n      this.editSize.dataSource = this.SizeList;\r\n      this.editSize.singleSelection = true;\r\n      this.editSize.selectedItems = this.question.options.size;\r\n      this.editSize.notFoundText = this.l('NoResultFound');\r\n      this.editSize.isDisabled = isViewOnly;\r\n\r\n      this.editRequired = new ToggleSlideOptions();\r\n      this.editRequired.name = 'IsRequired';\r\n      this.editRequired.labelKey = 'IsRequired';\r\n      this.editRequired.value = this.question.isRequired;\r\n      this.editRequired.labelDescription = this.l('RequiredDescriptionHint');\r\n      this.editRequired.isDisabled = isViewOnly;\r\n\r\n      this.editAllowScore = new ToggleSlideOptions();\r\n      this.editAllowScore.name = 'IsAllowScoring';\r\n      this.editAllowScore.labelKey = 'AllowScore';\r\n      this.editAllowScore.value = this.question.isAllowScoring;\r\n      this.editAllowScore.labelDescription = this.l('AllowScoreDescription');\r\n      this.editAllowScore.labelDescription = this.l('AllowScoreDescription');\r\n      this.editAllowScore.isDisabled = isViewOnly;\r\n\r\n      this.editHasSearch = new ToggleSlideOptions();\r\n      this.editHasSearch.name = 'HasSearch';\r\n      this.editHasSearch.labelKey = 'HasSearch';\r\n      this.editHasSearch.isDisabled = isViewOnly;\r\n\r\n      this.editIsActive = new ToggleSlideOptions();\r\n      this.editIsActive.name = 'IsVisible';\r\n      this.editIsActive.labelKey = 'Visible';\r\n      this.editIsActive.value = true;\r\n      this.editIsActive.value = this.question.isVisible;\r\n      this.editIsActive.labelDescription = this.l('VisibleDescriptionHint');\r\n      this.editIsActive.isDisabled = isViewOnly;\r\n\r\n      // this.editDisplayOrder = new TextBoxOptions();\r\n      // this.editDisplayOrder.Name = \"DisplayOrder\";\r\n      // this.editDisplayOrder.LabelKey = \"DisplayOrder\";\r\n      // this.editDisplayOrder.IsRequired = true;\r\n      // this.editDisplayOrder.NumberRange = new RangeNumber();\r\n      // this.editDisplayOrder.NumberRange.From = 1;\r\n      // this.editDisplayOrder.Type = InputType.Number;\r\n      // this.editDisplayOrder.Value = this.question.displayOrder;\r\n      // this.editDisplayOrder.CustomValidation = [this.numberValidation];\r\n\r\n      this.editMaxLength = new TextBoxOptions();\r\n      this.editMaxLength.name = 'MaxLength';\r\n      this.editMaxLength.labelKey = 'MaxLength';\r\n      this.editMaxLength.isRequired = true;\r\n      this.editMaxLength.numberRange = new RangeNumber();\r\n      this.editMaxLength.type = InputType.Number;\r\n      this.editMaxLength.value = this.question.options.maxLength;\r\n      this.editMaxLength.isDisabled = isViewOnly;\r\n      this.editMaxLength.labelDescription = this.l('MaxHint');\r\n\r\n      this.editMinLength = new TextBoxOptions();\r\n      this.editMinLength.name = 'MinLength';\r\n      this.editMinLength.labelKey = 'MinLength';\r\n      this.editMinLength.isRequired = true;\r\n      this.editMinLength.numberRange = new RangeNumber();\r\n      this.editMinLength.type = InputType.Number;\r\n      this.editMinLength.value = this.question.options.minLength;\r\n      this.editMinLength.isDisabled = isViewOnly;\r\n      this.editMinLength.labelDescription = this.l('MinHint');\r\n\r\n\r\n      this.editRowsNumber = new TextBoxOptions();\r\n      this.editRowsNumber.name = 'Rows';\r\n      this.editRowsNumber.labelKey = 'Rows';\r\n      this.editRowsNumber.isRequired = true;\r\n      this.editRowsNumber.numberRange = new RangeNumber();\r\n      this.editRowsNumber.numberRange.from = 1;\r\n      this.editRowsNumber.numberRange.to = 20;\r\n      this.editRowsNumber.type = InputType.Number;\r\n      this.editRowsNumber.value = this.question.options.rows;\r\n      this.editRowsNumber.isDisabled = isViewOnly;\r\n\r\n      this.editMaxFileSize = new TextBoxOptions();\r\n      this.editMaxFileSize.name = 'MaxFileSizeInMB';\r\n      this.editMaxFileSize.labelKey = 'MaxFileSizeInMB';\r\n      this.editMaxFileSize.isRequired = true;\r\n      this.editMaxFileSize.numberRange = new RangeNumber();\r\n      this.editMaxFileSize.numberRange.from = 1;\r\n      this.editMaxFileSize.numberRange.to = 100;\r\n      this.editMaxFileSize.type = InputType.Number;\r\n      this.editMaxFileSize.value = this.question.options.maxFileSizeInMB;\r\n      this.editMaxFileSize.isDisabled = isViewOnly;\r\n\r\n      this.editMaxFileCount = new TextBoxOptions();\r\n      this.editMaxFileCount.name = 'MaxFileCount';\r\n      this.editMaxFileCount.labelKey = 'MaxFilesCount';\r\n      this.editMaxFileCount.isRequired = true;\r\n      this.editMaxFileCount.numberRange = new RangeNumber();\r\n      this.editMaxFileCount.numberRange.from = 1;\r\n      this.editMaxFileCount.numberRange.to = 50;\r\n      this.editMaxFileCount.type = InputType.Number;\r\n      this.editMaxFileCount.labelDescription = this.l('MaxFileCountHint');\r\n      this.editMaxFileCount.value = this.question.options.maxFileCount;\r\n      this.editMaxFileCount.customValidation = [this.numberValidation];\r\n      this.editMaxFileCount.isDisabled = isViewOnly;\r\n\r\n      let FilesExtensionResult = this.question.options\r\n        .allowedExtensions as string[];\r\n      let FilesExtensions = FilesExtensionResult\r\n        ? result.extensions\r\n          .filter((item) => {\r\n            return FilesExtensionResult.includes(item.key);\r\n          })\r\n          .map((item) => item.key)\r\n        : [];\r\n      this.editFilesExtensions = new DropdownOptions();\r\n      this.editFilesExtensions.name = 'AllowedExtensions';\r\n      this.editFilesExtensions.labelKey = 'Extensions';\r\n      this.editFilesExtensions.isRequired = true;\r\n      this.editFilesExtensions.allowSearchFilter = true;\r\n      this.editFilesExtensions.dataSource = result.extensions;\r\n      this.editFilesExtensions.singleSelection = false;\r\n      this.editFilesExtensions.selectedItems = FilesExtensions;\r\n      this.editFilesExtensions.labelDescription = this.l('ExtensionHint');\r\n      this.editFilesExtensions.notFoundText = this.l('NoResultFound');\r\n      this.editFilesExtensions.isDisabled = isViewOnly;\r\n\r\n      this.editModelForm.addValidators(this.fromTo(\"MinLength\", \"MaxLength\"));\r\n\r\n      this.changeDataType(this.question.questionTypeItemID);\r\n      this.changeScoring(this.question.isAllowScoring);\r\n\r\n      this.editOptionId = new TextBoxOptions();\r\n      this.editOptionId.name = 'Id';\r\n      this.editOptionId.hideLabel = true;\r\n      this.editOptionId.type = InputType.Text;\r\n\r\n      this.editNameOption = new MultiLingualTextBoxOptions();\r\n      this.editNameOption.name = 'NameOption';\r\n      this.editNameOption.arabicLabelKey = 'NameInArabic';\r\n      this.editNameOption.englishLabelKey = 'NameInEnglish';\r\n      this.editNameOption.isRequired = true;\r\n      this.editNameOption.maxLength = 225;\r\n      this.editNameOption.languageMode = this.getLanguageModeValue();\r\n\r\n      this.scoreNumber = new TextBoxOptions();\r\n      this.scoreNumber.name = 'Score';\r\n      this.scoreNumber.labelKey = 'Score';\r\n      this.scoreNumber.isRequired = true;\r\n      this.scoreNumber.type = InputType.Number;\r\n      let rangeNumber = new RangeNumber();\r\n      rangeNumber.to = 1000000;\r\n      rangeNumber.from = 1;\r\n      this.scoreNumber.numberRange = rangeNumber;\r\n\r\n      this.displayOrderOption = new TextBoxOptions();\r\n      this.displayOrderOption.name = 'DisplayOrder';\r\n\r\n      this.idOption = new TextBoxOptions();\r\n      this.idOption.name = 'IdOption';\r\n\r\n      this.editOptionLinkedQuestions = new DropdownOptions();\r\n      this.editOptionLinkedQuestions.name = 'LinkedQuestions';\r\n      this.editOptionLinkedQuestions.labelKey = 'LinkedQuestions';\r\n      this.editOptionLinkedQuestions.allowSearchFilter = true;\r\n      this.editOptionLinkedQuestions.dataSource = result.questions;\r\n      this.editOptionLinkedQuestions.singleSelection = false;\r\n      this.editOptionLinkedQuestions.notFoundText = this.l('NoResultFound');\r\n      this.editOptionLinkedQuestions.labelDescription = this.l(\r\n        'LinkedQuestionDescriptionHint'\r\n      );\r\n\r\n      if (this.question.questionOptions.length > 0) {\r\n        for (\r\n          let index = 0;\r\n          index < this.question.questionOptions.length;\r\n          index++\r\n        ) {\r\n          const element = this.question.questionOptions[index];\r\n          this.optionList.push(new SurveyQuestionOptionDTO(element));\r\n        }\r\n      }\r\n\r\n      this.openModal(this.EditModal, 'xl');\r\n      this.stopBlockUI();\r\n    });\r\n  };\r\n  getEditModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultOptionModel = this.editOptionForm.value as any;\r\n    let resultModel = this.editModelForm.value as any;\r\n    if (this.isSelect) {\r\n      if (\r\n        (resultOptionModel.NameOption.Arabic != undefined &&\r\n          resultOptionModel.NameOption.Arabic != '') ||\r\n        (resultOptionModel.NameOption.English != undefined &&\r\n          resultOptionModel.NameOption.English != '') ||\r\n        (resultOptionModel.Score != undefined && resultOptionModel.Score > 0)\r\n      ) {\r\n        this.errorMessage = this.l('OptionPendingDataErrorMessage');\r\n        return;\r\n      }\r\n\r\n      if (this.optionList.length == 0 && this.isSelect) {\r\n        this.errorMessage = this.l('OptionErrorMessage');\r\n        return;\r\n      }\r\n    }\r\n    this.errorMessage = null;\r\n    let editModel: SurveyQuestionDTO = new SurveyQuestionDTO();\r\n    editModel.ID_GUID = this.questionID;\r\n    editModel.SurveyID = this.surveyID;\r\n    // editModel.DisplayOrder = resultModel.DisplayOrder;\r\n    editModel.Text.arabic = resultModel.Text.Arabic;\r\n    editModel.Text.english = resultModel.Text.English;\r\n    editModel.Description.arabic = resultModel.Description.Arabic;\r\n    editModel.Description.english = resultModel.Description.English;\r\n    editModel.Options.Description.arabic = resultModel.Description.Arabic;\r\n    editModel.Options.Description.english = resultModel.Description.English;\r\n    if (this.surveyAudienceTypeID == AudienceType.Both)\r\n      editModel.AudienceItemID = resultModel.AudienceItemID;\r\n    else editModel.AudienceItemID = this.audienceTypeID;\r\n    editModel.QuestionTypeItemID = this.question.questionTypeItemID;\r\n    editModel.IsAllowScoring = resultModel.IsAllowScoring;\r\n    editModel.Options.Size = resultModel.Size;\r\n    editModel.Options.IsRequired = resultModel.IsRequired;\r\n    editModel.IsRequired = resultModel.IsRequired;\r\n    editModel.IsVisible = resultModel.IsVisible;\r\n    editModel.Options.HasSearch = resultModel.HasSearch;\r\n\r\n    if (this.isText || this.isNumber) {\r\n      editModel.Options.MinLength = resultModel.MinLength;\r\n      editModel.Options.MaxLength = resultModel.MaxLength;\r\n    }\r\n\r\n    if (this.isFile || this.isMultiFile || this.isImage)\r\n      editModel.Options.MaxFileSizeInMB = resultModel.MaxFileSizeInMB;\r\n\r\n    if (this.isMultiFile)\r\n      editModel.Options.MaxFileCount = resultModel.MaxFileCount;\r\n\r\n    if (this.isMultiFile || this.isFile)\r\n      editModel.Options.AllowedExtensions = resultModel.AllowedExtensions;\r\n\r\n    if (this.isSelect) {\r\n      for (let index = 0; index < this.optionList.length; index++) {\r\n        this.optionList[index].DisplayOrder = index + 1;\r\n        editModel.QuestionOptions = this.optionList;\r\n      }\r\n    }\r\n\r\n    paramArray.push(editModel);\r\n    return paramArray;\r\n  };\r\n  getEditFunction = (editModal): Observable<any> => {\r\n    if (!this.errorMessage) return this.surveyQuestionService.edit(editModal);\r\n  };\r\n  getLinkedQuestions(option: SurveyQuestionOptionDTO) {\r\n    return this.Questions.filter((item) =>\r\n      option.LinkedQuestions.includes(item.key)\r\n    ).map((item) => item.value);\r\n  }\r\n\r\n  addOption() {\r\n    this.totalScore = 0;\r\n    this.editOptionForm.markAllAsTouched();\r\n    if (this.editOptionForm.invalid) {\r\n      return;\r\n    }\r\n    let resultModel = this.editOptionForm.value as any;\r\n\r\n    if (this.optionList.length >= 1 && this.showScoreOption) {\r\n      for (let index = 0; index < this.optionList.length; index++) {\r\n        let element = this.optionList[index].Score;\r\n        if (element > 1000000) {\r\n          this.errorMessage = this.l('MaxOptionScoreErrorMessage');\r\n          return;\r\n        }\r\n        if (element < 1) {\r\n          this.errorMessage = this.l('MinOptionScoreErrorMessage');\r\n          return;\r\n        }\r\n      }\r\n    }\r\n    this.errorMessage = null;\r\n    let option = new SurveyQuestionOptionDTO();\r\n    option.Name.arabic = resultModel.NameOption.Arabic;\r\n    option.Name.english = resultModel.NameOption.English;\r\n    option.ID_GUID = resultModel.IdOption;\r\n    debugger;\r\n    if (resultModel.DisplayOrder)\r\n      option.DisplayOrder = resultModel.DisplayOrder;\r\n    else option.DisplayOrder = this.optionList.length + 1;\r\n\r\n    option.LinkedQuestions = resultModel.LinkedQuestions;\r\n    if (this.showScoreOption)\r\n      option.Score = Number.parseFloat(resultModel.Score);\r\n    this.editOptionForm.reset();\r\n    this.editOptionForm.controls['NameOption'].reset();\r\n    this.editOptionForm.controls['IdOption'].reset();\r\n    this.editOptionForm.controls['DisplayOrder'].reset();\r\n    this.editOptionForm.controls['LinkedQuestions'].reset();\r\n    if (this.showScoreOption) this.editOptionForm.controls['Score'].reset();\r\n    this.optionList.splice(option.DisplayOrder - 1, 0, option);\r\n    this.isEditFormChange = true;\r\n    this.isOptionInEditMode = false;\r\n  }\r\n\r\n  deleteOption(option) {\r\n    this.optionList = this.optionList.filter((item) => item != option);\r\n    this.isEditFormChange = true;\r\n  }\r\n\r\n  editOption(option: SurveyQuestionOptionDTO) {\r\n    debugger;\r\n    if (\r\n      (this.editOptionForm.touched == true && this.editOptionForm.valid) ||\r\n      this.editOptionForm.touched == false\r\n    )\r\n      this.addOption();\r\n    else {\r\n      this.editOptionForm.markAllAsTouched();\r\n      return;\r\n    }\r\n    let name = new EnglishArabicDTO();\r\n    name.arabic = option.Name.arabic ?? null;\r\n    name.english = option.Name.english ?? null;\r\n    this.editOptionForm.controls['NameOption'].setValue(name);\r\n    this.editOptionForm.controls['IdOption'].setValue(option.ID_GUID);\r\n    this.editOptionForm.controls['DisplayOrder'].setValue(option.DisplayOrder);\r\n    this.editOptionForm.controls['LinkedQuestions'].setValue(\r\n      option.LinkedQuestions\r\n    );\r\n    if (this.showScoreOption)\r\n      this.editOptionForm.controls['Score'].setValue(option.Score);\r\n    this.optionList = this.optionList.filter((item) => item != option);\r\n    this.isEditFormChange = true;\r\n    this.isOptionInEditMode = true;\r\n  }\r\n\r\n  fromTo(fromField: string, toField: string): ValidatorFn {\r\n    return (formGroup: AbstractControl): { [key: string]: boolean; } | null => {\r\n      const fromDate = formGroup.get(fromField);\r\n      const toDate = formGroup.get(toField);\r\n      if (fromDate !== null && toDate !== null) {\r\n        if (\r\n          fromDate.value !== null &&\r\n          toDate.value !== null &&\r\n          parseInt(fromDate.value) > parseInt(toDate.value)\r\n        ) {\r\n          fromDate.markAsTouched();\r\n          toDate.markAsTouched();\r\n          toDate.setErrors({\r\n            errorMassage: this.l('GreaterThanOrEqualTo'),\r\n          });\r\n          return null;\r\n        }\r\n        if (\r\n          fromDate.value !== null &&\r\n          toDate.value !== null &&\r\n          parseInt(fromDate.value) < parseInt(toDate.value) &&\r\n          parseInt(toDate.value) < 255 &&\r\n          parseInt(fromDate.value) < 255\r\n        )\r\n          toDate.setErrors(null);\r\n      }\r\n\r\n      return null;\r\n    };\r\n  }\r\n\r\n\r\n  updateFormStatus(key: any) {\r\n    switch (key) {\r\n      case SurveyOptionType.Text:\r\n      case SurveyOptionType.MultilineText:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.Number:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.File:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.MultiFile:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.Image:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.MultipleSelect:\r\n      case SurveyOptionType.SingleSelect:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n\r\n      default:\r\n        if (this.editModelForm.get(this.editMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxLength.name),\r\n            this.editMaxLength\r\n          );\r\n        if (this.editModelForm.get(this.editMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMinLength.name),\r\n            this.editMinLength\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileSize.name),\r\n            this.editMaxFileSize\r\n          );\r\n        if (this.editModelForm.get(this.editMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editMaxFileCount.name),\r\n            this.editMaxFileCount\r\n          );\r\n        if (this.editModelForm.get(this.editFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.editModelForm.get(this.editFilesExtensions.name),\r\n            this.editFilesExtensions\r\n          );\r\n        break;\r\n    }\r\n  }\r\n\r\n  //drag and drop\r\n  drop(event: CdkDragDrop<string[]>) {\r\n    moveItemInArray(this.optionList, event.previousIndex, event.currentIndex);\r\n    for (let index = 0; index < this.optionList.length; index++) {\r\n      var element = this.optionList[index];\r\n      element.DisplayOrder = index + 1;\r\n    }\r\n    this.isEditFormChange = true;\r\n  }\r\n}\r\n","<ng-template #EditModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\" *ngIf=\"!isViewOnly\">\r\n      {{l(\"Edit_Question\")}}\r\n    </h4>\r\n    <h4 class=\"modal-title\" *ngIf=\"isViewOnly\">\r\n      {{l(\"Details\")}}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\">\r\n      </div>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <BBSF-Form [options]=\"editSurveyQuestionFormOptions\" (OnChange)=\"changeFormStatus($event)\">\r\n          <BBSF-MultiLingualTextBox [options]=\"editQuestion\" [group]=\"editModelForm\"></BBSF-MultiLingualTextBox>\r\n          <BBSF-MultiLingualTextArea [options]=\"editDescription\" [group]=\"editModelForm\"></BBSF-MultiLingualTextArea>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"surveyAudienceTypeID==audienceType.Both\">\r\n              <BBSF-DropdownList [options]=\"audience\" [group]=\"editModelForm\"></BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\">\r\n              <BBSF-DropdownList [options]=\"editQuestionType\" [group]=\"editModelForm\" (OnChange)=\"changeDataType($event)\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\">\r\n              <BBSF-DropdownList [options]=\"editSize\" [group]=\"editModelForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isSelect\" >\r\n              <BBSF-Toggleslide [options]=\"editAllowScore\" [group]=\"editModelForm\" (OnChange)=\"changeScoring($event)\"></BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\">\r\n              <BBSF-Toggleslide [options]=\"editIsActive\" [group]=\"editModelForm\"></BBSF-Toggleslide>\r\n            </div>\r\n            <div class=\"col-md-6 col-sm-6\">\r\n              <BBSF-Toggleslide [options]=\"editRequired\" [group]=\"editModelForm\"></BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"isText||isNumber\">\r\n              <BBSF-TextBox [options]=\"editMinLength\" *ngIf=\"isText||isNumber\" [group]=\"editModelForm\"></BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isText||isNumber\">\r\n              <BBSF-TextBox [options]=\"editMaxLength\" *ngIf=\"isText||isNumber\" [group]=\"editModelForm\"></BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"isFile||isMultiFile||isImage\">\r\n              <BBSF-TextBox [options]=\"editMaxFileSize\" *ngIf=\"isFile||isMultiFile||isImage\" [group]=\"editModelForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isMultiFile\">\r\n              <BBSF-TextBox [options]=\"editMaxFileCount\" *ngIf=\"isMultiFile\" [group]=\"editModelForm\"></BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isFile||isMultiFile\">\r\n              <BBSF-DropdownList [options]=\"editFilesExtensions\" *ngIf=\"isFile||isMultiFile\" [group]=\"editModelForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n          <!-- <div class=\"row\">\r\n          <div class=\"col-md-12\">\r\n            <BBSF-TextBox [options]=\"editDisplayOrder\" [group]=\"editModelForm\"></BBSF-TextBox>\r\n          </div>\r\n          </div> -->\r\n\r\n          <div *ngIf=\"isSelect\" class=\"question-type-option\">\r\n            <h5>{{l('Options')}}</h5>\r\n            <div cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n              <div class=\"card card-listing\" *ngFor=\"let Option of optionList;\" cdkDrag>\r\n                <div class=\"card-header mb-0\">\r\n                  <div class=\"title fs-6 fw-bolder\">\r\n                    {{getCurrentFailOver(Option.Name)}}\r\n                  </div>\r\n                  <div class=\"card-toolbar\">\r\n                    <span class=\"badge badge-square badge-dark me-4\" *ngIf=\"showScoreOption\" ngbTooltip=\"{{l('Score')}}\">\r\n                      {{Option.Score}}\r\n                    </span>\r\n\r\n                    <div class=\"badge badge-square badge-brand cursor-pointer me-4\" *ngIf=\"Option.LinkedQuestions?.length>0\" ngbTooltip=\"{{getLinkedQuestions(Option)}}\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n                      </span>\r\n                    </div>\r\n\r\n                    <div class=\"badge badge-square badge-brand cursor-pointer me-4\" (click)=\"editOption(Option)\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" ngbTooltip=\"{{l('Edit')}}\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n                      </span>\r\n                    </div>\r\n                    <div class=\"badge badge-square badge-danger cursor-pointer\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" ngbTooltip=\"{{l('Delete')}}\" [inlineSVG]=\"'/assets/images/Trash.svg'\"\r\n                            (click)=\"deleteOption(Option)\" apppreventdoubleclick>\r\n                      </span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"survey-alert-danger alert-danger\" *ngIf=\"errorMessage\">\r\n              <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n              </span>\r\n              <div class=\"fw-bold\"><div class=\"fs-7 text-danger\">{{errorMessage}}</div></div>\r\n            </div>\r\n            <div class=\"repeater-bg\" *ngIf=\"!isViewOnly\">\r\n              <div class=\"row\">\r\n                <BBSF-TextBox hidden=\"true\" [options]=\"editOptionId\" [group]=\"editOptionForm\">\r\n                </BBSF-TextBox>\r\n\r\n                <div class=\"col-md-12\">\r\n                  <BBSF-MultiLingualTextBox [options]=\"editNameOption\" [group]=\"editOptionForm\"></BBSF-MultiLingualTextBox>\r\n                </div>\r\n              </div>\r\n              <div class=\"row\">\r\n                <div class=\"col-md-6\">\r\n                  <BBSF-DropdownList [options]=\"editOptionLinkedQuestions\" [group]=\"editOptionForm\">\r\n                  </BBSF-DropdownList>\r\n                  <BBSF-TextBox [options]=\"displayOrderOption\" [group]=\"editOptionForm\" hidden></BBSF-TextBox>\r\n                  <BBSF-TextBox [options]=\"idOption\" [group]=\"editOptionForm\" hidden></BBSF-TextBox>\r\n\r\n                </div>\r\n                <div class=\"col-md-6\" *ngIf=\"showScoreOption\">\r\n                  <BBSF-TextBox [options]=\"scoreNumber\" [group]=\"editOptionForm\"></BBSF-TextBox>\r\n                </div>\r\n\r\n              </div>\r\n              <button type=\"button\" (click)=\"addOption()\" *ngIf=\"!isOptionInEditMode\" class=\"btn btn-sm btn-brand w-100\">{{l(\"Add\")}}</button>\r\n              <button type=\"button\" (click)=\"addOption()\" *ngIf=\"isOptionInEditMode\" class=\"btn btn-sm btn-brand w-100\">{{l(\"Edit\")}}</button>\r\n            </div>\r\n          </div>\r\n\r\n\r\n    <div class=\"modal-footer pb-0 m-0\" >\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\"  (click)=\"modal.dismiss()\">\r\n        {{l(\"Cancel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\"  [disabled]=\"!isEditFormChange\"   *ngIf=\"!isViewOnly\" class=\"btn btn-sm btn-brand\">{{l(\"Save\")}}</button>\r\n    </div>\r\n    </BBSF-Form>\r\n  </div>\r\n\r\n</ng-template>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyQuestionService } from '../../../../Services/survey-question.service';\r\n\r\n@Component({\r\n    selector: 'app-delete-question',\r\n    templateUrl: './delete-question.component.html',\r\n    standalone: false\r\n})\r\nexport class DeleteQuestionComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false }) deleteConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyQuestionService: SurveyQuestionService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  delete = (id: string): Observable<any> => {\r\n    return this.surveyQuestionService.delete(id);\r\n  };\r\n  showDeleteModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.delete;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.deleteConfirmationOptions.disableSuccessNotification = true;\r\n    this.deleteConfirmationOptions.disableErrorNotification = true;\r\n\r\n    setTimeout(() => {\r\n      this.deleteConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"deleteConfirmationOptions\" #deleteConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport {\r\n  Component,\r\n  ElementRef,\r\n  Injector,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport {\r\n  AppBaseComponent,\r\n  ControlLayout,\r\n  CustomValidation,\r\n  DropdownOptions,\r\n  EnglishArabicDTO, FormOptions,\r\n  InputType,\r\n  MultiLingualTextAreaOptions,\r\n  MultiLingualTextBoxOptions,\r\n  RangeNumber,\r\n  TextBoxOptions,\r\n  ToggleSlideOptions\r\n} from '@bnsights/bbsf-controls';\r\nimport {\r\n  NgWizardService, StepValidationArgs\r\n} from '@kronscht/ng-wizard';\r\nimport { Observable, of } from 'rxjs';\r\nimport { AudienceType, SurveyOptionType } from '../../../../Enums/Enums';\r\nimport { SurveyQuestionDTO } from '../../../../models/SurveyModels/survey-question';\r\nimport { SurveyQuestionOptionDTO } from '../../../../models/SurveyModels/survey-question-option';\r\nimport { SurveyQuestionService } from '../../../../Services/survey-question.service';\r\n\r\n@Component({\r\n  selector: 'app-add-question',\r\n  templateUrl: './add-question.component.html',\r\n  standalone: false\r\n})\r\nexport class AddQuestionComponent extends AppBaseComponent implements OnInit {\r\n  questionType: SurveyOptionType;\r\n  public audienceType = AudienceType;\r\n  isNumber: boolean = false;\r\n  isText: boolean = false;\r\n  isFile: boolean = false;\r\n  isMultiFile: boolean = false;\r\n  isImage: boolean = false;\r\n  isSelect: boolean = false;\r\n  SizeList: any[] = [];\r\n\r\n  addModelForm = new FormGroup({});\r\n  addSurveyQuestionFormOptions = new FormOptions();\r\n  addQuestion: MultiLingualTextBoxOptions;\r\n  addDescription: MultiLingualTextAreaOptions;\r\n  addQuestionType: DropdownOptions;\r\n  audience: DropdownOptions;\r\n  addRequired: ToggleSlideOptions;\r\n  addAllowScore: ToggleSlideOptions;\r\n  addHasSearch: ToggleSlideOptions;\r\n  addIsActive: ToggleSlideOptions;\r\n  addMinLength: TextBoxOptions;\r\n  addMaxLength: TextBoxOptions;\r\n  addRowsNumber: TextBoxOptions;\r\n  addMaxFileSize: TextBoxOptions;\r\n  addMaxFileCount: TextBoxOptions;\r\n  addFilesExtensions: DropdownOptions;\r\n  addSize: DropdownOptions;\r\n  numberValidation: CustomValidation = new CustomValidation();\r\n  @ViewChild('AddModal', { static: false }) AddModal: ElementRef;\r\n\r\n  addOptionForm = new FormGroup({});\r\n  addNameOption: MultiLingualTextBoxOptions;\r\n  scoreNumber: TextBoxOptions;\r\n  optionList: SurveyQuestionOptionDTO[] = [];\r\n  addOptionLinkedQuestions: DropdownOptions;\r\n  showScoreOption: boolean = false;\r\n  showOptions: boolean = false;\r\n  errorMessage: string = null;\r\n  totalScore: number = 0;\r\n  mainFormControls: any[];\r\n  surveyID: string;\r\n  audienceTypeID: any;\r\n  displayOrderOption: TextBoxOptions;\r\n  showOptionList: boolean = true;\r\n  orderChange: boolean;\r\n  isOptionInEditMode: boolean;\r\n  Questions: any;\r\n  constructor(\r\n    private injector: Injector,\r\n    private surveyQuestionService: SurveyQuestionService,\r\n    private ngWizardService: NgWizardService\r\n  ) {\r\n    super(injector);\r\n  }\r\n  @Input() pagingElement;\r\n  @Input() onSuccessAddHandler;\r\n\r\n  ngOnInit(): void {\r\n    for (let index = 0; index < 12; index++) {\r\n      var item = { key: index + 1, value: `${index + 1}` };\r\n      this.SizeList.push(item);\r\n    }\r\n    this.numberValidation.functionBody = (\r\n      control: AbstractControl\r\n    ): { [key: string]: any; } => {\r\n      if (!control.value) {\r\n        return null;\r\n      }\r\n      if (!control.value.toString().match(/^[0-9]*$/)) {\r\n        this.numberValidation.massage = this.l('IntegerNumberValidationKey');\r\n        return { customerError: true };\r\n      }\r\n      if (!control.value.toString().match(/^[+]?([.]\\d+|\\d+[.]?\\d*)$/)) {\r\n        this.numberValidation.massage = this.l('PositiveNumberValidationKey');\r\n        return { customerError: true };\r\n      }\r\n\r\n      return null;\r\n    };\r\n  }\r\n\r\n  changeScoring(value) {\r\n    this.showScoreOption = value;\r\n    if (!value && this.addOptionForm.controls['Score']) {\r\n      this.addOptionForm.controls['Score'].reset();\r\n      this.addOptionForm.controls['Score'].clearValidators();\r\n      this.addOptionForm.controls['Score'].updateValueAndValidity();\r\n    }\r\n  }\r\n\r\n  updateLengthValidator(name, max, min) {\r\n    let control = this.addOptionForm.controls[name];\r\n    if (control) {\r\n      control.setErrors(null);\r\n      control.clearValidators();\r\n      control.updateValueAndValidity();\r\n      let validationRules = [];\r\n      validationRules.push(Validators.min(min));\r\n      validationRules.push(Validators.max(max));\r\n      validationRules.push(Validators.required);\r\n      control.addValidators(validationRules);\r\n      control.updateValueAndValidity();\r\n    }\r\n  }\r\n  changeDataType(key) {\r\n    this.updateFormStatus(key);\r\n    switch (key) {\r\n      case SurveyOptionType.Text:\r\n        this.updateLengthValidator(this.addMaxLength.name, 255, 1);\r\n        this.updateLengthValidator(this.addMinLength.name, 255, 1);\r\n        this.addMaxLength.numberRange.from = 1;\r\n        this.addMaxLength.numberRange.to = 255;\r\n        this.addMinLength.numberRange.from = 1;\r\n        this.addMinLength.numberRange.to = 255;\r\n        this.isText = true;\r\n        this.isNumber = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.MultilineText:\r\n        this.updateLengthValidator(this.addMaxLength.name, 4000, 1);\r\n        this.updateLengthValidator(this.addMinLength.name, 4000, 1);\r\n        this.addMaxLength.numberRange.from = 1;\r\n        this.addMaxLength.numberRange.to = 4000;\r\n        this.addMinLength.numberRange.from = 1;\r\n        this.addMinLength.numberRange.to = 4000;\r\n        this.isText = true;\r\n        this.isNumber = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.Number:\r\n        this.updateLengthValidator(this.addMaxLength.name, 100, 1);\r\n        this.updateLengthValidator(this.addMinLength.name, 100, 1);\r\n        this.addMaxLength.numberRange.from = 1;\r\n        this.addMaxLength.numberRange.to = 100;\r\n        this.addMinLength.numberRange.from = 1;\r\n        this.addMinLength.numberRange.to = 100;\r\n        this.isNumber = true;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.File:\r\n        this.isFile = true;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isMultiFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.MultiFile:\r\n        this.isMultiFile = true;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isImage = false;\r\n        this.isSelect = false;\r\n\r\n        break;\r\n      case SurveyOptionType.Image:\r\n        this.isImage = true;\r\n        this.isMultiFile = false;\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isSelect = false;\r\n        break;\r\n      case SurveyOptionType.MultipleSelect:\r\n      case SurveyOptionType.SingleSelect:\r\n      case SurveyOptionType.RadioButton:\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isSelect = true;\r\n        this.isImage = false;\r\n        break;\r\n      default:\r\n        this.isNumber = false;\r\n        this.isText = false;\r\n        this.isFile = false;\r\n        this.isMultiFile = false;\r\n        this.isSelect = false;\r\n        this.isImage = false;\r\n        break;\r\n    }\r\n\r\n    this.ngWizardService.reset();\r\n  }\r\n\r\n  addModal = (surveyId, audienceType) => {\r\n    this.surveyID = surveyId;\r\n    this.audienceTypeID = audienceType;\r\n    this.isNumber = false;\r\n    this.isText = false;\r\n    this.isFile = false;\r\n    this.isMultiFile = false;\r\n    this.isSelect = false;\r\n    this.isImage = false;\r\n    this.optionList = [];\r\n    this.errorMessage = null;\r\n    this.surveyQuestionService\r\n      .loadAddDropdown(this.surveyID)\r\n      .subscribe((res) => {\r\n        let result = res as any;\r\n        this.Questions = result.questions;\r\n        this.addModelForm = new FormGroup({});\r\n        this.addOptionForm = new FormGroup({});\r\n\r\n        this.addSurveyQuestionFormOptions = new FormOptions();\r\n        this.addSurveyQuestionFormOptions.formGroup = this.addModelForm;\r\n        this.addSurveyQuestionFormOptions.getModelFunction = this.getAddModel;\r\n        this.addSurveyQuestionFormOptions.serviceSubmitFunction =\r\n          this.getAddFunction;\r\n        this.addSurveyQuestionFormOptions.pagingReference = this.pagingElement;\r\n        this.addSurveyQuestionFormOptions.onSuccessHandler =\r\n          this.onSuccessAddHandler;\r\n        this.addSurveyQuestionFormOptions.disableSuccessNotification = true;\r\n\r\n        this.addQuestion = new MultiLingualTextBoxOptions();\r\n        this.addQuestion.name = 'Text';\r\n        this.addQuestion.arabicLabelKey = 'QuestionInArabic';\r\n        this.addQuestion.englishLabelKey = 'QuestionInEnglish';\r\n        this.addQuestion.isRequired = true;\r\n        this.addQuestion.maxLength = 4000;\r\n        this.addQuestion.languageMode = this.getLanguageModeValue();\r\n\r\n        this.addDescription = new MultiLingualTextAreaOptions();\r\n        this.addDescription.name = 'Description';\r\n        this.addDescription.arabicLabelKey = 'DescriptionInArabic';\r\n        this.addDescription.englishLabelKey = 'DescriptionInEnglish';\r\n        this.addDescription.isRequired = false;\r\n        this.addDescription.maxLength = 250;\r\n        this.addDescription.rows = 2;\r\n        this.addDescription.languageMode = this.getLanguageModeValue();\r\n        this.addDescription.arabicLabelDescription = this.l(\r\n          'QuestionDescriptionHintArabic'\r\n        );\r\n        this.addDescription.englishLabelDescription = this.l(\r\n          'QuestionDescriptionHintEnglish'\r\n        );\r\n\r\n        this.addQuestionType = new DropdownOptions();\r\n        this.addQuestionType.name = 'QuestionTypeItemID';\r\n        this.addQuestionType.labelKey = 'Type';\r\n        this.addQuestionType.isRequired = true;\r\n        this.addQuestionType.allowSearchFilter = true;\r\n        this.addQuestionType.dataSource = result.optionTypes;\r\n        this.addQuestionType.singleSelection = true;\r\n        this.addQuestionType.notFoundText = this.l('NoResultFound');\r\n\r\n        this.audience = new DropdownOptions();\r\n        this.audience.name = 'AudienceItemID';\r\n        this.audience.labelKey = 'Audience';\r\n        this.audience.isRequired = true;\r\n        this.audience.viewType = ControlLayout.Vertical;\r\n        this.audience.singleSelection = true;\r\n        this.audience.showCheckbox = false;\r\n        this.audience.dataSource = result.audiences;\r\n        this.audience.selectedItems = audienceType;\r\n        this.audience.labelDescription = this.l('AudienceDescriptionHint');\r\n\r\n        this.addSize = new DropdownOptions();\r\n        this.addSize.name = 'Size';\r\n        this.addSize.labelKey = 'Size';\r\n        this.addSize.isRequired = true;\r\n        this.addSize.allowSearchFilter = true;\r\n        this.addSize.dataSource = this.SizeList;\r\n        this.addSize.singleSelection = true;\r\n        this.addSize.selectedItems = 12;\r\n        this.addSize.notFoundText = this.l('NoResultFound');\r\n\r\n        this.addRequired = new ToggleSlideOptions();\r\n        this.addRequired.name = 'IsRequired';\r\n        this.addRequired.labelKey = 'IsRequired';\r\n        this.addRequired.labelDescription = this.l('RequiredDescriptionHint');\r\n\r\n        this.addAllowScore = new ToggleSlideOptions();\r\n        this.addAllowScore.name = 'IsAllowScoring';\r\n        this.addAllowScore.labelKey = 'AllowScore';\r\n        this.addAllowScore.labelDescription = this.l('AllowScoreDescription');\r\n\r\n        this.addHasSearch = new ToggleSlideOptions();\r\n        this.addHasSearch.name = 'HasSearch';\r\n        this.addHasSearch.labelKey = 'HasSearch';\r\n\r\n        this.addIsActive = new ToggleSlideOptions();\r\n        this.addIsActive.name = 'IsVisible';\r\n        this.addIsActive.labelKey = 'Visible';\r\n        this.addIsActive.value = true;\r\n        this.addIsActive.labelDescription = this.l('GenericVisibleHint');\r\n\r\n        this.addMaxLength = new TextBoxOptions();\r\n        this.addMaxLength.name = 'MaxLength';\r\n        this.addMaxLength.labelKey = 'MaxLength';\r\n        this.addMaxLength.isRequired = true;\r\n        this.addMaxLength.numberRange = new RangeNumber();\r\n        this.addMaxLength.type = InputType.Number;\r\n        this.addMaxLength.labelDescription = this.l('MaxHint');\r\n\r\n        this.addMinLength = new TextBoxOptions();\r\n        this.addMinLength.name = 'MinLength';\r\n        this.addMinLength.labelKey = 'MinLength';\r\n        this.addMinLength.isRequired = true;\r\n        this.addMinLength.numberRange = new RangeNumber();\r\n        this.addMinLength.type = InputType.Number;\r\n        this.addMinLength.labelDescription = this.l('MinHint');\r\n\r\n        this.addRowsNumber = new TextBoxOptions();\r\n        this.addRowsNumber.name = 'Rows';\r\n        this.addRowsNumber.labelKey = 'Rows';\r\n        this.addRowsNumber.isRequired = true;\r\n        this.addRowsNumber.numberRange = new RangeNumber();\r\n        this.addRowsNumber.numberRange.from = 1;\r\n        this.addRowsNumber.numberRange.to = 20;\r\n        this.addRowsNumber.type = InputType.Number;\r\n\r\n        this.addMaxFileSize = new TextBoxOptions();\r\n        this.addMaxFileSize.name = 'MaxFileSizeInMB';\r\n        this.addMaxFileSize.labelKey = 'MaxFileSizeInMB';\r\n        this.addMaxFileSize.isRequired = true;\r\n        this.addMaxFileSize.numberRange = new RangeNumber();\r\n        this.addMaxFileSize.numberRange.from = 1;\r\n        this.addMaxFileSize.numberRange.to = 100;\r\n        this.addMaxFileSize.type = InputType.Number;\r\n\r\n        this.addMaxFileCount = new TextBoxOptions();\r\n        this.addMaxFileCount.name = 'MaxFileCount';\r\n        this.addMaxFileCount.labelKey = 'MaxFilesCount';\r\n        this.addMaxFileCount.isRequired = true;\r\n        this.addMaxFileCount.numberRange = new RangeNumber();\r\n        this.addMaxFileCount.numberRange.from = 1;\r\n        this.addMaxFileCount.numberRange.to = 50;\r\n        this.addMaxFileCount.type = InputType.Number;\r\n        this.addMaxFileCount.labelDescription = this.l('MaxFileCountHint');\r\n        this.addMaxFileCount.customValidation = [this.numberValidation];\r\n\r\n        this.addFilesExtensions = new DropdownOptions();\r\n        this.addFilesExtensions.name = 'AllowedExtensions';\r\n        this.addFilesExtensions.labelKey = 'Extensions';\r\n        this.addFilesExtensions.isRequired = true;\r\n        this.addFilesExtensions.allowSearchFilter = true;\r\n        this.addFilesExtensions.dataSource = result.extensions;\r\n        this.addFilesExtensions.singleSelection = false;\r\n        this.addFilesExtensions.labelDescription = this.l('ExtensionHint');\r\n        this.addFilesExtensions.notFoundText = this.l('NoResultFound');\r\n\r\n        this.addModelForm.addValidators(this.fromTo('MinLength', 'MaxLength'));\r\n\r\n        this.addNameOption = new MultiLingualTextBoxOptions();\r\n        this.addNameOption.name = 'NameOption';\r\n        this.addNameOption.arabicLabelKey = 'NameInArabic';\r\n        this.addNameOption.englishLabelKey = 'NameInEnglish';\r\n        this.addNameOption.isRequired = true;\r\n        this.addNameOption.maxLength = 225;\r\n        this.addNameOption.languageMode = this.getLanguageModeValue();\r\n\r\n        this.displayOrderOption = new TextBoxOptions();\r\n        this.displayOrderOption.name = 'DisplayOrder';\r\n\r\n        this.scoreNumber = new TextBoxOptions();\r\n        this.scoreNumber.name = 'Score';\r\n        this.scoreNumber.labelKey = 'Score';\r\n        this.scoreNumber.isRequired = true;\r\n        this.scoreNumber.type = InputType.Number;\r\n        let rangeNumber = new RangeNumber();\r\n        rangeNumber.to = 1000000;\r\n        rangeNumber.from = 1;\r\n        this.scoreNumber.numberRange = rangeNumber;\r\n\r\n        this.addOptionLinkedQuestions = new DropdownOptions();\r\n        this.addOptionLinkedQuestions.name = 'LinkedQuestions';\r\n        this.addOptionLinkedQuestions.labelKey = 'LinkedQuestions';\r\n        this.addOptionLinkedQuestions.allowSearchFilter = true;\r\n        this.addOptionLinkedQuestions.dataSource = result.questions;\r\n        this.addOptionLinkedQuestions.singleSelection = false;\r\n        this.addOptionLinkedQuestions.notFoundText = this.l('NoResultFound');\r\n        this.addOptionLinkedQuestions.labelDescription = this.l(\r\n          'LinkedQuestionDescriptionHint'\r\n        );\r\n\r\n        this.openModal(this.AddModal, 'xl');\r\n        this.stopBlockUI();\r\n      });\r\n  };\r\n  getAddModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultOptionModel = this.addOptionForm.value as any;\r\n    let resultModel = this.addModelForm.value as any;\r\n    if (this.isSelect) {\r\n      if (\r\n        (resultOptionModel.NameOption.Arabic != undefined &&\r\n          resultOptionModel.NameOption.Arabic != '') ||\r\n        (resultOptionModel.NameOption.English != undefined &&\r\n          resultOptionModel.NameOption.English != '') ||\r\n        (resultOptionModel.Score != undefined && resultOptionModel.Score > 0)\r\n      ) {\r\n        this.errorMessage = this.l('OptionPendingDataErrorMessage');\r\n        return;\r\n      }\r\n\r\n      if (this.optionList.length == 0 && this.isSelect) {\r\n        this.errorMessage = this.l('OptionErrorMessage');\r\n        return;\r\n      }\r\n    }\r\n    this.errorMessage = null;\r\n    let addModel: SurveyQuestionDTO = new SurveyQuestionDTO();\r\n    addModel.SurveyID = this.surveyID;\r\n    addModel.Text.arabic = resultModel.Text.Arabic;\r\n    addModel.Text.english = resultModel.Text.English;\r\n    addModel.Description.arabic = resultModel.Description.Arabic;\r\n    addModel.Description.english = resultModel.Description.English;\r\n    addModel.Options.Description.arabic = resultModel.Description.Arabic;\r\n    addModel.Options.Description.english = resultModel.Description.English;\r\n    if (this.audienceTypeID == AudienceType.Both)\r\n      addModel.AudienceItemID = resultModel.AudienceItemID;\r\n    else addModel.AudienceItemID = this.audienceTypeID;\r\n    addModel.QuestionTypeItemID = resultModel.QuestionTypeItemID;\r\n    addModel.IsAllowScoring = resultModel.IsAllowScoring;\r\n    addModel.Options.Size = resultModel.Size;\r\n    addModel.Options.IsRequired = resultModel.IsRequired;\r\n    addModel.IsRequired = resultModel.IsRequired;\r\n    addModel.IsVisible = resultModel.IsVisible;\r\n    addModel.Options.HasSearch = resultModel.HasSearch;\r\n\r\n    if (this.isText || this.isNumber) {\r\n      addModel.Options.MinLength = resultModel.MinLength;\r\n      addModel.Options.MaxLength = resultModel.MaxLength;\r\n    }\r\n\r\n    if (this.isFile || this.isMultiFile || this.isImage)\r\n      addModel.Options.MaxFileSizeInMB = resultModel.MaxFileSizeInMB;\r\n\r\n    if (this.isMultiFile)\r\n      addModel.Options.MaxFileCount = resultModel.MaxFileCount;\r\n\r\n    if (this.isMultiFile || this.isFile)\r\n      addModel.Options.AllowedExtensions = resultModel.AllowedExtensions;\r\n\r\n    if (this.isSelect)\r\n      if (this.optionList.length > 0) {\r\n        for (let index = 0; index < this.optionList.length; index++) {\r\n          this.optionList[index].DisplayOrder = index + 1;\r\n        }\r\n        addModel.QuestionOptions = this.optionList;\r\n      }\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n  getAddFunction = (addModal): Observable<any> => {\r\n    if (!this.errorMessage) return this.surveyQuestionService.add(addModal);\r\n  };\r\n\r\n  getLinkedQuestions(option: SurveyQuestionOptionDTO) {\r\n    return this.Questions.filter((item) =>\r\n      option.LinkedQuestions.includes(item.key)\r\n    ).map((item) => item.value);\r\n  }\r\n\r\n  AddOption() {\r\n    this.totalScore = 0;\r\n    this.addOptionForm.markAllAsTouched();\r\n    if (this.addOptionForm.invalid) {\r\n      return;\r\n    }\r\n    let resultModel = this.addOptionForm.value as any;\r\n\r\n    if (this.optionList.length >= 1 && this.showScoreOption) {\r\n      for (let index = 0; index < this.optionList.length; index++) {\r\n        let element = this.optionList[index].Score;\r\n        if (element > 1000000) {\r\n          this.errorMessage = this.l('MaxOptionScoreErrorMessage');\r\n          return;\r\n        }\r\n        if (element < 1) {\r\n          this.errorMessage = this.l('MinOptionScoreErrorMessage');\r\n          return;\r\n        }\r\n      }\r\n    }\r\n    this.showOptionList = false;\r\n    this.errorMessage = null;\r\n    let option = new SurveyQuestionOptionDTO();\r\n    option.Name.arabic = resultModel.NameOption.Arabic;\r\n    option.Name.english = resultModel.NameOption.English;\r\n    debugger;\r\n    if (resultModel.DisplayOrder)\r\n      option.DisplayOrder = resultModel.DisplayOrder;\r\n    else option.DisplayOrder = this.optionList.length + 1;\r\n\r\n    option.LinkedQuestions = resultModel.LinkedQuestions;\r\n    if (this.showScoreOption)\r\n      option.Score = Number.parseFloat(resultModel.Score);\r\n    this.addOptionForm.reset();\r\n    this.addOptionForm.controls['NameOption'].reset();\r\n    this.addOptionForm.controls['DisplayOrder'].reset();\r\n    this.addOptionForm.controls['LinkedQuestions'].reset();\r\n    if (this.showScoreOption) this.addOptionForm.controls['Score'].reset();\r\n    this.optionList.splice(option.DisplayOrder - 1, 0, option);\r\n    this.showOptionList = true;\r\n    this.isOptionInEditMode = false;\r\n  }\r\n  getOptionByOrder(index: number, option: any) {\r\n    return option.DisplayOrder;\r\n  }\r\n  deleteOption(option) {\r\n    this.optionList = this.optionList.filter((item) => item != option);\r\n  }\r\n\r\n  editOption(option: SurveyQuestionOptionDTO) {\r\n    debugger;\r\n    if (\r\n      (this.addOptionForm.touched == true && this.addOptionForm.valid) ||\r\n      this.addOptionForm.touched == false\r\n    )\r\n      this.AddOption();\r\n    else {\r\n      this.addOptionForm.markAllAsTouched();\r\n      return;\r\n    }\r\n    let name = new EnglishArabicDTO();\r\n    name.arabic = option.Name.arabic ?? null;\r\n    name.english = option.Name.english ?? null;\r\n    this.addOptionForm.controls['NameOption'].setValue(name);\r\n    this.addOptionForm.controls['DisplayOrder'].setValue(option.DisplayOrder);\r\n    this.addOptionForm.controls['LinkedQuestions'].setValue(\r\n      option.LinkedQuestions\r\n    );\r\n    if (this.showScoreOption)\r\n      this.addOptionForm.controls['Score'].setValue(option.Score);\r\n    this.optionList = this.optionList.filter((item) => item != option);\r\n    this.isOptionInEditMode = true;\r\n  }\r\n\r\n  fromTo(fromField: string, toField: string): ValidatorFn {\r\n    return (formGroup: AbstractControl): { [key: string]: boolean; } | null => {\r\n      const fromDate = formGroup.get(fromField);\r\n      const toDate = formGroup.get(toField);\r\n      if (fromDate !== null && toDate !== null) {\r\n        if (\r\n          fromDate.value !== null &&\r\n          toDate.value !== null &&\r\n          parseInt(fromDate.value) > parseInt(toDate.value)\r\n        ) {\r\n          fromDate.markAsTouched();\r\n          toDate.markAsTouched();\r\n          toDate.setErrors({\r\n            errorMassage: this.l('GreaterThanOrEqualTo'),\r\n          });\r\n          return null;\r\n        }\r\n        if (\r\n          fromDate.value !== null &&\r\n          toDate.value !== null &&\r\n          parseInt(fromDate.value) < parseInt(toDate.value) &&\r\n          parseInt(toDate.value) < 255 &&\r\n          parseInt(fromDate.value) < 255\r\n        )\r\n          toDate.setErrors(null);\r\n      }\r\n\r\n      return null;\r\n    };\r\n  }\r\n\r\n  updateFormStatus(key: any) {\r\n    switch (key) {\r\n      case SurveyOptionType.Text:\r\n      case SurveyOptionType.MultilineText:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.Number:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.File:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.MultiFile:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.Image:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.addRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      case SurveyOptionType.MultipleSelect:\r\n      case SurveyOptionType.SingleSelect:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n\r\n      default:\r\n        if (this.addModelForm.get(this.addMaxLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxLength.name),\r\n            this.addMaxLength\r\n          );\r\n        if (this.addModelForm.get(this.addMinLength.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMinLength.name),\r\n            this.addMinLength\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileSize.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileSize.name),\r\n            this.addMaxFileSize\r\n          );\r\n        if (this.addModelForm.get(this.addMaxFileCount.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addMaxFileCount.name),\r\n            this.addMaxFileCount\r\n          );\r\n        if (this.addModelForm.get(this.addFilesExtensions.name))\r\n          this.removeRequiredRule(\r\n            this.addModelForm.get(this.addFilesExtensions.name),\r\n            this.addFilesExtensions\r\n          );\r\n        break;\r\n    }\r\n  }\r\n\r\n  isValidTypeBoolean: boolean = true;\r\n\r\n  isValidFunctionReturnsBoolean(args: StepValidationArgs) {\r\n    let returnValue = true;\r\n    this.mainFormControls = [];\r\n    this.mainFormControls.push(\r\n      this.addModelForm.get(this.addQuestion.name),\r\n      this.addModelForm.get(this.addDescription.name),\r\n      this.addModelForm.get(this.addQuestionType.name),\r\n      this.addModelForm.get(this.audience.name)\r\n    );\r\n    if (args.fromStep.index == 0)\r\n      for (var i = 0; i < this.mainFormControls.length; i++) {\r\n        this.mainFormControls[i].markAllAsTouched();\r\n        if (!this.mainFormControls[i].valid) returnValue = false;\r\n      }\r\n    return returnValue;\r\n  }\r\n\r\n  isValidFunctionReturnsObservable(args: StepValidationArgs) {\r\n    return of(true);\r\n  }\r\n\r\n  //drag and drop\r\n  drop(event: CdkDragDrop<string[]>) {\r\n    moveItemInArray(this.optionList, event.previousIndex, event.currentIndex);\r\n  }\r\n}\r\n","<ng-template #AddModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{l(\"Add_Question\")}}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\">\r\n      </div>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <BBSF-Form [options]=\"addSurveyQuestionFormOptions\">\r\n          <BBSF-MultiLingualTextBox [options]=\"addQuestion\" [group]=\"addModelForm\"></BBSF-MultiLingualTextBox>\r\n          <BBSF-MultiLingualTextArea [options]=\"addDescription\" [group]=\"addModelForm\"></BBSF-MultiLingualTextArea>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"audienceTypeID==audienceType.Both\">\r\n              <BBSF-DropdownList [options]=\"audience\"  [group]=\"addModelForm\"></BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\">\r\n              <BBSF-DropdownList [options]=\"addQuestionType\" [group]=\"addModelForm\" (OnChange)=\"changeDataType($event)\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\">\r\n              <BBSF-DropdownList [options]=\"addSize\" [group]=\"addModelForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isSelect\" >\r\n              <BBSF-Toggleslide [options]=\"addAllowScore\" [group]=\"addModelForm\" (OnChange)=\"changeScoring($event)\"></BBSF-Toggleslide>\r\n            </div>\r\n            </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\">\r\n              <BBSF-Toggleslide [options]=\"addIsActive\" [group]=\"addModelForm\"></BBSF-Toggleslide>\r\n            </div>\r\n            <div class=\"col-md-6 col-sm-6\">\r\n              <BBSF-Toggleslide [options]=\"addRequired\" [group]=\"addModelForm\"></BBSF-Toggleslide>\r\n            </div>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"isText||isNumber\">\r\n              <BBSF-TextBox [options]=\"addMinLength\" *ngIf=\"isText||isNumber\" [group]=\"addModelForm\"></BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isText||isNumber\">\r\n              <BBSF-TextBox [options]=\"addMaxLength\" *ngIf=\"isText||isNumber\" [group]=\"addModelForm\"></BBSF-TextBox>\r\n            </div>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-md-6\" *ngIf=\"isFile||isMultiFile||isImage\">\r\n              <BBSF-TextBox [options]=\"addMaxFileSize\" *ngIf=\"isFile||isMultiFile||isImage\" [group]=\"addModelForm\">\r\n              </BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isMultiFile\">\r\n              <BBSF-TextBox [options]=\"addMaxFileCount\" *ngIf=\"isMultiFile\" [group]=\"addModelForm\"></BBSF-TextBox>\r\n            </div>\r\n            <div class=\"col-md-6\" *ngIf=\"isFile||isMultiFile\">\r\n              <BBSF-DropdownList [options]=\"addFilesExtensions\" *ngIf=\"isFile||isMultiFile\" [group]=\"addModelForm\">\r\n              </BBSF-DropdownList>\r\n            </div>\r\n          </div>\r\n\r\n          <div *ngIf=\"isSelect\" class=\"question-type-option\">\r\n            <h5 class=\"mb-4\">{{l('Options')}}</h5>\r\n            <div cdkDropList (cdkDropListDropped)=\"drop($event)\" *ngIf=\"showOptionList\">\r\n              <div class=\"card card-listing\" *ngFor=\"let Option of optionList;\" cdkDrag>\r\n                <div class=\"card-header mb-0\">\r\n                  <div class=\"title fs-6 fw-bolder\">\r\n                    {{getCurrentFailOver(Option.Name)}}\r\n                  </div>\r\n                  <div class=\"card-toolbar\">\r\n                    <span class=\"badge badge-square badge-dark me-4\" *ngIf=\"showScoreOption\" ngbTooltip=\"{{l('Score')}}\">\r\n                      {{Option.Score}}\r\n                    </span>\r\n\r\n                    <div class=\"badge badge-square badge-brand cursor-pointer me-4\" *ngIf=\"Option.LinkedQuestions?.length>0\" ngbTooltip=\"{{getLinkedQuestions(Option)}}\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n                      </span>\r\n                    </div>\r\n\r\n                    <div class=\"badge badge-square badge-brand cursor-pointer me-4\" (click)=\"editOption(Option)\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" ngbTooltip=\"{{l('Edit')}}\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n                      </span>\r\n                    </div>\r\n                    <div class=\"badge badge-square badge-danger cursor-pointer\">\r\n                      <span class=\"svg-icon svg-icon-4 svg-icon-white\" ngbTooltip=\"{{l('Delete')}}\" [inlineSVG]=\"'/assets/images/Trash.svg'\"\r\n                            (click)=\"deleteOption(Option)\" apppreventdoubleclick>\r\n                      </span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n            <div class=\"survey-alert-danger alert-danger\" *ngIf=\"errorMessage\">\r\n              <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n              </span>\r\n              <div class=\"fw-bold\"><div class=\"fs-7 text-danger\">{{errorMessage}}</div></div>\r\n            </div>\r\n            <div class=\"repeater-bg\">\r\n              <div class=\"row\">\r\n                <div class=\"col-md-12\">\r\n                  <BBSF-MultiLingualTextBox [options]=\"addNameOption\" [group]=\"addOptionForm\"></BBSF-MultiLingualTextBox>\r\n                </div>\r\n              </div>\r\n              <div class=\"row\">\r\n                <div class=\"col-md-6\">\r\n                  <BBSF-DropdownList [options]=\"addOptionLinkedQuestions\" [group]=\"addOptionForm\">\r\n                  </BBSF-DropdownList>\r\n                  <BBSF-TextBox [options]=\"displayOrderOption\" [group]=\"addOptionForm\" hidden></BBSF-TextBox>\r\n\r\n                </div>\r\n                <div class=\"col-md-6\" *ngIf=\"showScoreOption\">\r\n                  <BBSF-TextBox [options]=\"scoreNumber\" [group]=\"addOptionForm\"></BBSF-TextBox>\r\n                </div>\r\n\r\n              </div>\r\n              <button type=\"button\" (click)=\"AddOption()\" *ngIf=\"!isOptionInEditMode\" class=\"btn btn-sm btn-brand w-100\">{{l(\"Add\")}}</button>\r\n              <button type=\"button\" (click)=\"AddOption()\" *ngIf=\"isOptionInEditMode\" class=\"btn btn-sm btn-brand w-100\">{{l(\"Edit\")}}</button>\r\n            </div>\r\n          </div>\r\n\r\n\r\n    <div class=\"modal-footer pb-0 m-0\" >\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\"  (click)=\"modal.dismiss()\">\r\n        {{l(\"Cancel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\"   class=\"btn btn-sm btn-brand\">{{l(\"Save\")}}</button>\r\n    </div>\r\n    </BBSF-Form>\r\n  </div>\r\n\r\n</ng-template>\r\n","\r\nexport class SurveyPublishDTO{\r\n    ID:number;\r\n    ID_GUID:string;\r\n    StartDate:Date;\r\n    EndDate?:Date;\r\n    NotifyByEmail:boolean;\r\n    SendAppNotification:boolean;\r\n    IsShowScoreAfterSubmission:boolean;\r\n}\r\n\r\nexport class SurveyUnPublishDTO{\r\n    ID:number;\r\n    ID_GUID:string;\r\n    StatusItemID:string;\r\n    EndDate?:Date;\r\n   \r\n}","import { DatePipe } from '@angular/common';\r\nimport { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AppBaseComponent, ControlLayout, DatePickerOptions, FormOptions, PickerType, SelectMode, StartView, ToggleSlideOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyPublishDTO } from '../../../../models/SurveyModels/survey-publish';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-publish-survey',\r\n    templateUrl: './publish-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class PublishSurveyComponent extends AppBaseComponent implements OnInit {\r\n  @Input() pagingElement;\r\n  @Input() showToggle;\r\n  @Input() onSuccessHandler;\r\n  @ViewChild('PublishModal', { static: false }) modal: ElementRef;\r\n\r\n  addModelForm = new FormGroup({});\r\n  PublishSurveyOptions = new FormOptions();\r\n  addStartDate: DatePickerOptions;\r\n  addEndDate: DatePickerOptions;\r\n  surveyID: string;\r\n  errorMessage: string;\r\n  disablePublishButton: boolean;\r\n  showScoreToUser: any;\r\n\r\n  constructor(private injector: Injector, private surveyService: SurveyService, public datePipe: DatePipe) {\r\n    super(injector);\r\n  }\r\n  ngOnInit(): void {\r\n\r\n  }\r\n  publishModal(surveyId, questionCount) {\r\n    if (questionCount == 0) {\r\n      this.errorMessage = this.l(\"PublishSurveyQuestionCountError\");\r\n      this.disablePublishButton = true;\r\n    }\r\n    else {\r\n      this.errorMessage = null;\r\n      this.disablePublishButton = false;\r\n    }\r\n    this.surveyID = surveyId;\r\n    this.addModelForm = new FormGroup({});\r\n    this.PublishSurveyOptions = new FormOptions();\r\n    this.PublishSurveyOptions.formGroup = this.addModelForm;\r\n    this.PublishSurveyOptions.getModelFunction = this.getAddModel;\r\n    this.PublishSurveyOptions.serviceSubmitFunction = this.getAddFunction;\r\n    this.PublishSurveyOptions.pagingReference = this.pagingElement;\r\n    this.PublishSurveyOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.PublishSurveyOptions.disableSuccessNotification = true;\r\n\r\n    this.addStartDate = new DatePickerOptions();\r\n    this.addStartDate.name = \"StartDate\";\r\n    this.addStartDate.labelKey = \"StartDate\";\r\n    this.addStartDate.isRequired = true;\r\n    this.addStartDate.viewType = ControlLayout.Vertical;\r\n    this.addStartDate.startView = StartView.Month;\r\n    this.addStartDate.pickerType = PickerType.Both;\r\n    this.addStartDate.selectMode = SelectMode.Single;\r\n    let DateValue;\r\n    let tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds\r\n    let date = new Date() as any;\r\n    DateValue = new Date(date - tzoffset).toISOString().slice(0, -1);\r\n    this.addStartDate.value = DateValue;\r\n\r\n    this.addEndDate = new DatePickerOptions();\r\n    this.addEndDate.name = \"EndDate\";\r\n    this.addEndDate.labelKey = \"EndDate\";\r\n    this.addEndDate.isRequired = false;\r\n    this.addEndDate.viewType = ControlLayout.Vertical;\r\n    this.addEndDate.startView = StartView.Month;\r\n    this.addEndDate.pickerType = PickerType.Both;\r\n    this.addEndDate.selectMode = SelectMode.Single;\r\n    this.addEndDate.startControlToCompareWith = \"StartDate\";\r\n\r\n\r\n    if (this.showToggle) {\r\n      this.showScoreToUser = new ToggleSlideOptions();\r\n      this.showScoreToUser.Name = \"IsShowScoreAfterSubmission\";\r\n      this.showScoreToUser.LabelKey = \"ShowScoreToUser\";\r\n      this.showScoreToUser.LabelDescription = this.l(\"ShowScoreToUserHint\");\r\n    }\r\n    this.openModal(this.modal, 'lg');\r\n  }\r\n  getAddModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.addModelForm.value as any;\r\n    let model = new SurveyPublishDTO();\r\n    model.ID_GUID = this.surveyID;\r\n    model.StartDate = resultModel.StartDate;\r\n    model.EndDate = resultModel.EndDate;\r\n    if (this.showToggle)\r\n      model.IsShowScoreAfterSubmission = resultModel.IsShowScoreAfterSubmission;\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n  getAddFunction = (modal): Observable<any> => {\r\n    if (this.errorMessage)\r\n      return;\r\n    return this.surveyService.publishSurvey(modal);\r\n  };\r\n}\r\n","<ng-template #PublishModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{l(\"Publish_Survey\")}}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\"></div>\r\n    </button>\r\n  </div>\r\n  <BBSF-Form [options]=\"PublishSurveyOptions\">\r\n    <div class=\"modal-body\">\r\n      <div class=\"survey-alert-danger alert-danger\" *ngIf=\"errorMessage\">\r\n        <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n        </span>\r\n        <div class=\"fw-bold\"><div class=\"fs-7 text-danger\">{{errorMessage}}</div></div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DateTimePicker [options]=\"addStartDate\" [group]=\"addModelForm\"></BBSF-DateTimePicker>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DateTimePicker [options]=\"addEndDate\" [group]=\"addModelForm\"></BBSF-DateTimePicker>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\" *ngIf=\"showToggle\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide  [options]=\"showScoreToUser\" [group]=\"addModelForm\"></BBSF-Toggleslide>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n    <div class=\"modal-footer\">\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\" (click)=\"modal.dismiss()\">\r\n        {{l(\"CancelLabel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\"  [disabled]=\"disablePublishButton\" class=\"btn btn-sm btn-brand\">{{l(\"Publish\")}}</button>\r\n    </div>\r\n  </BBSF-Form>\r\n</ng-template>\r\n","import { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, DatePickerOptions, FormOptions, PickerType, RadioButtonOptions, SelectMode, StartView } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyStatusEnum } from '../../../../Enums/Enums';\r\nimport { SurveyUnPublishDTO } from '../../../../models/SurveyModels/survey-publish';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-unpublish-survey',\r\n    templateUrl: './unpublish-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class UnPublishSurveyComponent extends AppBaseComponent implements OnInit {\r\n\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  public SurveyStatusEnum = SurveyStatusEnum;\r\n  unPublishConfirmationOptions: ConfirmationModalOptions;\r\n  surveyID: string;\r\n  unPublishForm = new FormGroup({});\r\n  UnPublishSurveyOptions = new FormOptions();\r\n  unPublishType: RadioButtonOptions;\r\n  @ViewChild('UnPublishModal', { static: false }) modal: ElementRef;\r\n  isShowEndDate: boolean = false;\r\n  @ViewChild('unPublishConfirmationModalControl', { static: false }) unPublishConfirmationModalControl: ConfirmationModalComponent;\r\n  addEndDate: any;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  showConfirmationModal(id) {\r\n    this.surveyID = id;\r\n    this.startBlockUI();\r\n    this.unPublishConfirmationOptions = new ConfirmationModalOptions();\r\n    this.unPublishConfirmationOptions.serviceSubmitFunction = this.showUnPublishModal;\r\n    this.unPublishConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.unPublishConfirmationOptions.disableSuccessNotification = true;\r\n    this.unPublishConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n    this.unPublishConfirmationOptions.confirmationHeader = this.l('Unpublish_Confirmation');\r\n    this.unPublishConfirmationOptions.submitButtonText = this.l('UnPublish');\r\n    setTimeout(() => {\r\n      this.unPublishConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n\r\n  showUnPublishModal = () => {\r\n    this.isShowEndDate = false;\r\n    this.unPublishForm = new FormGroup({});\r\n    this.UnPublishSurveyOptions = new FormOptions();\r\n    this.UnPublishSurveyOptions.formGroup = this.unPublishForm;\r\n    this.UnPublishSurveyOptions.getModelFunction = this.getUnPublishModel;\r\n    this.UnPublishSurveyOptions.serviceSubmitFunction = this.getUnPublishFunction;\r\n    this.UnPublishSurveyOptions.pagingReference = this.pagingElement;\r\n    this.UnPublishSurveyOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.UnPublishSurveyOptions.disableSuccessNotification = true;\r\n\r\n    this.unPublishType = new RadioButtonOptions();\r\n    this.unPublishType.name = \"UnPublishType\";\r\n    this.unPublishType.labelKey = \"UnPublish_Survey\";\r\n    this.unPublishType.isRequired = true;\r\n    this.unPublishType.items = [\r\n      { text: this.l('Draft'), value: this.SurveyStatusEnum.ScoringTypeEnum_Draft },\r\n      { text: this.l('Close'), value: this.SurveyStatusEnum.ScoringTypeEnum_Closed }\r\n    ];\r\n\r\n    this.addEndDate = new DatePickerOptions();\r\n    this.addEndDate.Name = \"EndDate\";\r\n    this.addEndDate.LabelKey = \"EndDate\";\r\n    this.addEndDate.ViewType = ControlLayout.Vertical;\r\n    this.addEndDate.StartView = StartView.Month;\r\n    this.addEndDate.PickerType = PickerType.Both;\r\n    this.addEndDate.SelectMode = SelectMode.Single;\r\n    let DateValue;\r\n    let tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds\r\n    let date = new Date() as any;\r\n    DateValue = new Date(date - tzoffset).toISOString().slice(0, -1);\r\n    this.addEndDate.Value = DateValue;\r\n\r\n    this.openModal(this.modal, 'lg');\r\n\r\n  };\r\n\r\n\r\n  getUnPublishModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.unPublishForm.value as any;\r\n    let model = new SurveyUnPublishDTO();\r\n    model.ID_GUID = this.surveyID;\r\n    model.StatusItemID = resultModel.UnPublishType;\r\n    model.EndDate = resultModel.EndDate;\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n  getUnPublishFunction = (modal): Observable<any> => {\r\n    return this.surveyService.unPublishSurvey(modal);\r\n  };\r\n  changeRadioButton(value) {\r\n    if (this.SurveyStatusEnum.ScoringTypeEnum_Closed == value) {\r\n      this.isShowEndDate = true;\r\n      this.addEndDate.IsRequired = true;\r\n      if (this.unPublishForm.get(this.addEndDate.Name))\r\n        this.addRequiredRule(this.unPublishForm.get(this.addEndDate.Name), this.addEndDate);\r\n    }\r\n    else {\r\n      this.isShowEndDate = false;\r\n      this.addEndDate.IsRequired = false;\r\n      if (this.unPublishForm.get(this.addEndDate.Name))\r\n        this.removeRequiredRule(this.unPublishForm.get(this.addEndDate.Name), this.addEndDate);\r\n    }\r\n  }\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"unPublishConfirmationOptions\" #unPublishConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n<ng-template #UnPublishModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{l(\"UnPublish_Survey\")}}\r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\">\r\n      </div>\r\n    </button>\r\n  </div>\r\n  <BBSF-Form [options]=\"UnPublishSurveyOptions\">\r\n    <div class=\"modal-body\">\r\n\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-RadioButton [options]=\"unPublishType\" [group]=\"unPublishForm\" (OnChange)=\"changeRadioButton($event)\"></BBSF-RadioButton>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\" *ngIf=\"isShowEndDate\">\r\n          <BBSF-DateTimePicker [options]=\"addEndDate\" [group]=\"unPublishForm\"></BBSF-DateTimePicker>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n    <div class=\"modal-footer\">\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\" (click)=\"modal.dismiss()\">\r\n        {{l(\"CancelLabel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\" \r\n        class=\"btn btn-sm btn-brand\">{{l(\"UnPublish\")}}</button>\r\n    </div>\r\n  </BBSF-Form>\r\n</ng-template>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-delete-submission',\r\n    templateUrl: './delete-submission.component.html',\r\n    standalone: false\r\n})\r\nexport class DeleteSubmissionComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  deleteConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false }) deleteConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  delete = (id: string): Observable<any> => {\r\n    return this.surveyService.deleteSubmission(id);\r\n  };\r\n  showDeleteModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.deleteConfirmationOptions = new ConfirmationModalOptions();\r\n    this.deleteConfirmationOptions.serviceSubmitFunction = this.delete;\r\n    this.deleteConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.deleteConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.deleteConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.deleteConfirmationOptions.disableSuccessNotification = true;\r\n    this.deleteConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n\r\n    setTimeout(() => {\r\n      this.deleteConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"deleteConfirmationOptions\" #deleteConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-eliminate-submission',\r\n    templateUrl: './eliminate-submission.component.html',\r\n    standalone: false\r\n})\r\nexport class EliminateSubmissionComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  eliminateConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('eliminateConfirmationModalControl', { static: false }) eliminateConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  eliminate = (id: string): Observable<any> => {\r\n    return this.surveyService.eliminateSubmission(id);\r\n  };\r\n  showEliminateModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.eliminateConfirmationOptions = new ConfirmationModalOptions();\r\n    this.eliminateConfirmationOptions.serviceSubmitFunction = this.eliminate;\r\n    this.eliminateConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.eliminateConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.eliminateConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.eliminateConfirmationOptions.disableSuccessNotification = true;\r\n    this.eliminateConfirmationOptions.submitButtonText = this.l('Eliminate');\r\n    this.eliminateConfirmationOptions.confirmationHeader = this.l('EliminateMessage');\r\n    this.eliminateConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n\r\n    setTimeout(() => {\r\n      this.eliminateConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"eliminateConfirmationOptions\" #eliminateConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions, StyleConfirmationMode } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-unEliminate-submission',\r\n    templateUrl: './unEliminate-submission.component.html',\r\n    standalone: false\r\n})\r\nexport class UnEliminateSubmissionComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  unEliminateConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('unEliminateConfirmationModalControl', { static: false }) unEliminateConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  unEliminate = (id: string): Observable<any> => {\r\n    return this.surveyService.unEliminateSubmission(id);\r\n  };\r\n  showUnEliminateModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.unEliminateConfirmationOptions = new ConfirmationModalOptions();\r\n    this.unEliminateConfirmationOptions.serviceSubmitFunction = this.unEliminate;\r\n    this.unEliminateConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.unEliminateConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.unEliminateConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessDeleteHandler;\r\n    this.unEliminateConfirmationOptions.disableSuccessNotification = true;\r\n    this.unEliminateConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Warning;\r\n    this.unEliminateConfirmationOptions.submitButtonText = this.l('UnEliminate');\r\n    this.unEliminateConfirmationOptions.confirmationHeader = this.l('UnEliminateMessage');\r\n    this.unEliminateConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n\r\n    setTimeout(() => {\r\n      this.unEliminateConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"unEliminateConfirmationOptions\" #unEliminateConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { AppBaseComponent } from '@bnsights/bbsf-controls';\r\n\r\n@Component({\r\n    selector: 'app-no-results',\r\n    templateUrl: './no-results.component.html',\r\n    standalone: false\r\n})\r\nexport class NoResultsComponent extends AppBaseComponent implements OnInit {\r\n\r\n  constructor(private injector: Injector) {\r\n    super(injector);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","\r\n<div class=\"no-resutl-container\">\r\n  <div class=\"no-result-txt\">{{l(\"NoResultFound\")}}</div>\r\n  <!--<div class=\"no-result-subtxt\">0 Results found in this page</div>-->\r\n  <span class=\"svg-icon no-resutl-svg\" [inlineSVG]=\"'/assets/images/no-result.svg'\"></span>\r\n</div>\r\n","import { PublishSurveyComponent } from './publish-survey/publish-survey.component';\r\nimport { AddQuestionComponent } from './add-question/add-question.component';\r\nimport { DeleteQuestionComponent } from './delete-question/delete-question.component';\r\nimport { EditQuestionComponent } from './edit-question/edit-question.component';\r\nimport { EditSurveyComponent } from './../edit-survey/edit-survey.component';\r\nimport { DeleteSurveyComponent } from './../delete-survey/delete-survey.component';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n  Component,\r\n  Inject,\r\n  Injector,\r\n  NgZone,\r\n  OnInit,\r\n  PLATFORM_ID,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n  AppBaseComponent,\r\n  BreadCrumb,\r\n  ControlLayout,\r\n  DropdownActionItem,\r\n  FilterItem,\r\n  FilterType,\r\n  ForceDirection,\r\n  InputType,\r\n  PageHeaderOptions,\r\n  PagingComponent,\r\n  PagingOptions,\r\n  TextBoxOptions,\r\n} from '@bnsights/bbsf-controls';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport * as am5 from '@amcharts/amcharts5';\r\nimport * as am5xy from '@amcharts/amcharts5/xy';\r\nimport am5themes_Animated from '@amcharts/amcharts5/themes/Animated';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { UnPublishSurveyComponent } from './unpublish-survey/unpublish-survey.component';\r\nimport { DeleteSubmissionComponent } from '../submissions/delete-submission/delete-submission.component';\r\nimport { EliminateSubmissionComponent } from '../submissions/eliminate-submission/eliminate-submission.component';\r\nimport { UnEliminateSubmissionComponent } from '../submissions/uneliminate-submission/uneliminate-submission.component';\r\nimport {\r\n  AudienceType,\r\n  SurveyMode,\r\n  SurveyOptionType,\r\n  SurveyStatusEnum,\r\n} from '../../../Enums/Enums';\r\nimport { SurveyQuestionDTO } from '../../../models/SurveyModels/survey-question';\r\nimport { SurveyService } from '../../../Services/survey.service';\r\nimport { SurveyQuestionService } from '../../../Services/survey-question.service';\r\nimport { SurveyConfig } from '../../../models/SurveyModels/survey-utils';\r\n\r\n@Component({\r\n    selector: 'app-survey-info',\r\n    templateUrl: './survey-info.component.html',\r\n    styleUrls: ['./survey-info.component.css'],\r\n    standalone: false\r\n})\r\nexport class SurveyInfoComponent extends AppBaseComponent implements OnInit {\r\n  pageHeaderOptions: PageHeaderOptions;\r\n  breadCrumb: BreadCrumb[];\r\n  surveyForm = new FormGroup({});\r\n  @ViewChild('pagingViewElement', { static: false })\r\n  pagingElement: PagingComponent<any>;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false })\r\n  deleteConfirmationModalControl: DeleteSurveyComponent;\r\n  @ViewChild('editModal', { static: false }) editModal: EditSurveyComponent;\r\n  @ViewChild('editQuestionModal', { static: false })\r\n  editQuestionModal: EditQuestionComponent;\r\n  @ViewChild('deleteQuestionModal', { static: false })\r\n  deleteQuestionConfirmationModalControl: DeleteQuestionComponent;\r\n  @ViewChild('addQuestionModal', { static: false })\r\n  AddQuestionComponent: AddQuestionComponent;\r\n  @ViewChild('addPublishModal', { static: false })\r\n  addPublishModal: PublishSurveyComponent;\r\n  @ViewChild('addUnPublishModal', { static: false })\r\n  addUnPublishModal: UnPublishSurveyComponent;\r\n  @ViewChild('deleteSubmissionModal', { static: false })\r\n  deleteSubmissionConfirmationModalControl: DeleteSubmissionComponent;\r\n  @ViewChild('eliminateModal', { static: false })\r\n  eliminateSubmissionConfirmationModalControl: EliminateSubmissionComponent;\r\n  @ViewChild('unEliminateModal', { static: false })\r\n  unEliminateSubmissionConfirmationModalControl: UnEliminateSubmissionComponent;\r\n  enableActions: boolean = false;\r\n\r\n  TextBoxWithExternalURL: TextBoxOptions;\r\n  TextBoxWithInternalURL: TextBoxOptions;\r\n  urlForm = new FormGroup({});\r\n  SearchTextBox = new FormGroup({});\r\n  EN: boolean;\r\n  SearchTextBoxOptions: TextBoxOptions;\r\n  private root!: am5.Root;\r\n  surveyID: any;\r\n  survey: any;\r\n  loadInfo: boolean = false;\r\n  public SurveyStatusEnum = SurveyStatusEnum;\r\n  public AudienceTypeEnum = AudienceType;\r\n  surveyQuestions: SurveyQuestionDTO[] = [];\r\n  apiQuestionURL = this.surveyQuestionService.apiURL;\r\n  filtersQuestionForm = new FormGroup({});\r\n  canTakeSurvey: boolean = false;\r\n  //Questions Section\r\n  @ViewChild('pagingQuestionViewElement', { static: false })\r\n  pagingQuestionElement: PagingComponent<any>;\r\n  pagingQuestionResult: any[] = [];\r\n  pagingQuestionOptions: PagingOptions;\r\n  showPageContent: boolean;\r\n  canEditQuestion: boolean;\r\n  canAddQuestion: boolean;\r\n  canDeleteQuestion: boolean;\r\n  searchQuestionTextFilter: any;\r\n  SurveyIDOptions: any;\r\n  searchSurveyIDFilter: FilterItem;\r\n\r\n  //Submission Section\r\n  filtersSubmissionForm = new FormGroup({});\r\n  @ViewChild('pagingSubmissionViewElement', { static: false })\r\n  pagingSubmissionElement: PagingComponent<any>;\r\n  pagingSubmissionResult: any[] = [];\r\n  pagingSubmissionOptions: PagingOptions;\r\n  showSubmissionPageContent: boolean;\r\n  searchSubmissionTextFilter: FilterItem;\r\n  searchSurveySubmissionIDFilter: FilterItem;\r\n  questionOverviewResult: any;\r\n  pagingQuestionResultOriginal: any;\r\n  showOverview: boolean;\r\n  showNav: boolean;\r\n  constructor(\r\n    private injector: Injector,\r\n    @Inject(PLATFORM_ID) private platformId,\r\n    private zone: NgZone,\r\n    private router: Router,\r\n    private masterLayoutService: MasterLayoutService,\r\n    private surveyService: SurveyService,\r\n    private surveyQuestionService: SurveyQuestionService,\r\n    private activatedRoute: ActivatedRoute\r\n  ) {\r\n    super(injector);\r\n    this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n    this.surveyID = this.activatedRoute.snapshot.params['id'];\r\n  }\r\n  // Run the function only in the browser\r\n  browserOnly(f: () => void) {\r\n    if (isPlatformBrowser(this.platformId)) {\r\n      this.zone.runOutsideAngular(() => {\r\n        f();\r\n      });\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() { }\r\n\r\n  maybeDisposeRoot(divId) {\r\n    am5.array.each(am5.registry.rootElements, (root) => {\r\n      if (root) {\r\n        if (root.dom.id == divId) {\r\n          root.dispose();\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  loadChart(item) {\r\n    // Chart code goes in here\r\n    this.browserOnly(() => {\r\n      let name = `chartdiv`;\r\n      this.maybeDisposeRoot(name);\r\n      let root = am5.Root.new(name);\r\n      root.setThemes([am5themes_Animated.new(root)]);\r\n\r\n      let chart = root.container.children.push(\r\n        am5xy.XYChart.new(root, {\r\n          panX: false,\r\n          panY: false,\r\n          wheelX: 'none',\r\n          wheelY: 'none',\r\n          paddingBottom: 50,\r\n          paddingTop: 40,\r\n          layout: root.verticalLayout,\r\n        })\r\n      );\r\n\r\n      // Define data\r\n      let data = item.options.map((value) => {\r\n        return {\r\n          name: value.localizedTitle,\r\n          value: value.numberOfSelectedTime,\r\n        };\r\n      });\r\n      // Create Y-axis\r\n      let yAxis = chart.yAxes.push(\r\n        am5xy.ValueAxis.new(root, {\r\n          baseValue: 0,\r\n          maxPrecision: 0,\r\n          min: 0,\r\n          extraTooltipPrecision: 100,\r\n          renderer: am5xy.AxisRendererY.new(root, {}),\r\n        })\r\n      );\r\n\r\n      // Create X-Axis\r\n      let xAxis = chart.xAxes.push(\r\n        am5xy.CategoryAxis.new(root, {\r\n          renderer: am5xy.AxisRendererX.new(root, {}),\r\n          categoryField: 'name',\r\n        })\r\n      );\r\n      xAxis.data.setAll(data);\r\n\r\n      // Create series\r\n      let series1 = chart.series.push(\r\n        am5xy.ColumnSeries.new(root, {\r\n          name: 'Question Options',\r\n          xAxis: xAxis,\r\n          yAxis: yAxis,\r\n          valueYField: 'value',\r\n          categoryXField: 'name',\r\n        })\r\n      );\r\n\r\n      series1.data.setAll(data);\r\n      series1.set('fill', am5.color('#b68a35')); // set Series color to red\r\n      series1.set('stroke', am5.color('#b68a35')); // set Series color to red\r\n\r\n      // Add legend\r\n      let legend = chart.children.push(am5.Legend.new(root, {}));\r\n      legend.data.push(series1);\r\n\r\n      if (!this.EN) {\r\n        legend.labels.template.setAll({\r\n          textAlign: 'right',\r\n          x: 50,\r\n        });\r\n        legend.valueLabels.template.setAll({\r\n          textAlign: 'right',\r\n          paddingRight: 15,\r\n        });\r\n        legend.itemContainers.template.setAll({\r\n          reverseChildren: true,\r\n        });\r\n      }\r\n      this.root = root;\r\n    });\r\n\r\n    // //chart overview\r\n    this.browserOnly(() => {\r\n      let nameOverView = `chartOverview`;\r\n      this.maybeDisposeRoot(nameOverView);\r\n      let root = am5.Root.new(nameOverView);\r\n\r\n      root.setThemes([am5themes_Animated.new(root)]);\r\n\r\n      let chart = root.container.children.push(\r\n        am5xy.XYChart.new(root, {\r\n          panY: false,\r\n          layout: root.verticalLayout,\r\n        })\r\n      );\r\n\r\n      // Define data\r\n\r\n      let data = [];\r\n      for (const key in item.results) {\r\n        if (Object.prototype.hasOwnProperty.call(item.results, key)) {\r\n          const value = item.results[key];\r\n          let object = {\r\n            category: '<=' + key,\r\n            value: value,\r\n          };\r\n          data.push(object);\r\n        }\r\n      }\r\n\r\n      // Create Y-axis\r\n      let yAxis = chart.yAxes.push(\r\n        am5xy.ValueAxis.new(root, {\r\n          baseValue: 0,\r\n          maxPrecision: 0,\r\n          min: 0,\r\n          extraTooltipPrecision: 100,\r\n          renderer: am5xy.AxisRendererY.new(root, {}),\r\n        })\r\n      );\r\n\r\n      // Create X-Axis\r\n      let xAxis = chart.xAxes.push(\r\n        am5xy.CategoryAxis.new(root, {\r\n          renderer: am5xy.AxisRendererX.new(root, {}),\r\n          categoryField: 'category',\r\n        })\r\n      );\r\n      xAxis.data.setAll(data);\r\n\r\n      // Create series\r\n      let series1 = chart.series.push(\r\n        am5xy.ColumnSeries.new(root, {\r\n          name: 'Score',\r\n          xAxis: xAxis,\r\n          yAxis: yAxis,\r\n          valueYField: 'value',\r\n          categoryXField: 'category',\r\n        })\r\n      );\r\n      series1.data.setAll(data);\r\n      series1.set('fill', am5.color('#b68a35')); // set Series color to red\r\n      series1.set('stroke', am5.color('#b68a35')); // set Series color to red\r\n      // Add legend\r\n      let legend = chart.children.push(am5.Legend.new(root, {}));\r\n      legend.data.setAll(chart.series.values);\r\n      if (!this.EN) {\r\n        legend.labels.template.setAll({\r\n          textAlign: 'right',\r\n          x: 50,\r\n        });\r\n        legend.valueLabels.template.setAll({\r\n          textAlign: 'right',\r\n          paddingRight: 15,\r\n        });\r\n        legend.itemContainers.template.setAll({\r\n          reverseChildren: true,\r\n        });\r\n      }\r\n      this.root = root;\r\n    });\r\n  }\r\n  ngOnDestroy() {\r\n    // Clean up root element when the component is removed\r\n    this.browserOnly(() => {\r\n      if (this.root) {\r\n        this.root.dispose();\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (SurveyConfig.surveyMode == SurveyMode.Survey_Full_Access)\r\n      this.enableActions = true;\r\n    this.surveyService.getInfo(this.surveyID).subscribe((result) => {\r\n      this.survey = result;\r\n\r\n      this.TextBoxWithExternalURL = new TextBoxOptions();\r\n      this.TextBoxWithExternalURL.name = 'TextBoxWithExternalURL';\r\n      this.TextBoxWithExternalURL.labelKey = 'External_URL';\r\n      this.TextBoxWithExternalURL.type = InputType.Text;\r\n      this.TextBoxWithExternalURL.viewType = ControlLayout.Vertical;\r\n      this.TextBoxWithExternalURL.forceDirection = ForceDirection.English;\r\n      this.TextBoxWithExternalURL.enableCopyToClipboard = true;\r\n      this.TextBoxWithExternalURL.value = this.survey.externalURL;\r\n\r\n      this.TextBoxWithInternalURL = new TextBoxOptions();\r\n      this.TextBoxWithInternalURL.name = 'TextBoxWithInternalURL';\r\n      this.TextBoxWithInternalURL.labelKey = 'Internal_URL';\r\n      this.TextBoxWithInternalURL.type = InputType.Text;\r\n      this.TextBoxWithInternalURL.viewType = ControlLayout.Vertical;\r\n      this.TextBoxWithInternalURL.forceDirection = ForceDirection.English;\r\n      this.TextBoxWithInternalURL.enableCopyToClipboard = true;\r\n      this.TextBoxWithInternalURL.value = this.survey.internalURL;\r\n\r\n      this.breadCrumb = [];\r\n      this.breadCrumb.push(\r\n        new BreadCrumb(this.l('Home'), false, '/'),\r\n        new BreadCrumb(this.l('Surveys_Header'), false, '../../'),\r\n        new BreadCrumb(this.l('Survey_Details'), true)\r\n      );\r\n      this.pageHeaderOptions = new PageHeaderOptions();\r\n      this.pageHeaderOptions.titleValue = this.survey.localizedTitle;\r\n      this.pageHeaderOptions.searchTextBox.active = false;\r\n      this.pageHeaderOptions.breadCrumb.active = true;\r\n      this.pageHeaderOptions.breadCrumb.breadCrumbItems = this.breadCrumb;\r\n      this.pageHeaderOptions.dropDownActions.active = true;\r\n      if (this.enableActions)\r\n        this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n          new DropdownActionItem(\r\n            this.l('Delete'),\r\n            '/assets/images/Trash.svg',\r\n            this.showDeleteModal\r\n          )\r\n        );\r\n\r\n      this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n        new DropdownActionItem(\r\n          this.l('Export'),\r\n          '/assets/images/export.svg',\r\n          this.export\r\n        )\r\n      );\r\n\r\n      if (this.enableActions) {\r\n        if (\r\n          this.survey.statusItemID.toLocaleLowerCase() ==\r\n          this.SurveyStatusEnum.ScoringTypeEnum_Draft.toLocaleLowerCase() ||\r\n          this.survey.statusItemID.toLocaleLowerCase() ==\r\n          this.SurveyStatusEnum.ScoringTypeEnum_Upcoming.toLocaleLowerCase()\r\n        )\r\n          this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n            new DropdownActionItem(\r\n              this.l('Edit'),\r\n              '/assets/images/Edit.svg',\r\n              this.showEditModal\r\n            )\r\n          );\r\n      }\r\n      if (this.survey.totalQuestionCount > 0)\r\n        this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n          new DropdownActionItem(\r\n            this.l('Preview'),\r\n            '/assets/images/views.svg',\r\n            this.previewSurvey\r\n          )\r\n        );\r\n\r\n      if (\r\n        this.survey.statusItemID.toLocaleLowerCase() ==\r\n        this.SurveyStatusEnum.ScoringTypeEnum_Published.toLocaleLowerCase()\r\n      )\r\n        this.canTakeSurvey = true;\r\n      if (this.enableActions) {\r\n        if (\r\n          this.survey.statusItemID.toLocaleLowerCase() ==\r\n          this.SurveyStatusEnum.ScoringTypeEnum_Draft.toLocaleLowerCase() ||\r\n          this.survey.statusItemID.toLocaleLowerCase() ==\r\n          this.SurveyStatusEnum.ScoringTypeEnum_Closed.toLocaleLowerCase()\r\n        )\r\n          this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n            new DropdownActionItem(\r\n              this.l('Publish'),\r\n              '/assets/images/Submit.svg',\r\n              this.showPublishModal\r\n            )\r\n          );\r\n        else\r\n          this.pageHeaderOptions.dropDownActions.dropdownActionItems.push(\r\n            new DropdownActionItem(\r\n              this.l('UnPublish'),\r\n              '/assets/images/unlink.svg',\r\n              this.showUnPublishModal\r\n            )\r\n          );\r\n      }\r\n      this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n      this.loadQuestionSection();\r\n      this.loadSubmissionSection();\r\n      this.pageTitle = this.survey.localizedTitle;\r\n      this.updatePageTitle(this.survey.localizedTitle);\r\n      this.loadInfo = true;\r\n    });\r\n  }\r\n  showEditModal = () => {\r\n    this.editModal.showEditModal(this.surveyID);\r\n  };\r\n  showDeleteModal = () => {\r\n    this.deleteConfirmationModalControl.showDeleteModal(this.surveyID);\r\n  };\r\n  showEditQuestionModal(id, isViewOnly) {\r\n    this.editQuestionModal.editModal(\r\n      id,\r\n      this.survey.audienceItemID,\r\n      isViewOnly\r\n    );\r\n  }\r\n  showAddQuestionModal() {\r\n    this.AddQuestionComponent.addModal(\r\n      this.surveyID,\r\n      this.survey.audienceItemID\r\n    );\r\n  }\r\n  showDeleteQuestionModal = (id) => {\r\n    this.deleteQuestionConfirmationModalControl.showDeleteModal(id);\r\n  };\r\n  showPublishModal = () => {\r\n    this.addPublishModal.publishModal(this.surveyID, this.pagingQuestionResult);\r\n  };\r\n  showUnPublishModal = () => {\r\n    this.addUnPublishModal.showConfirmationModal(this.surveyID);\r\n  };\r\n  drop(event: CdkDragDrop<string[]>) {\r\n    moveItemInArray(\r\n      this.pagingQuestionResult,\r\n      event.previousIndex,\r\n      event.currentIndex\r\n    );\r\n    for (let index = 0; index < this.pagingQuestionResult.length; index++) {\r\n      this.pagingQuestionResult[index].displayOrder = index + 1;\r\n    }\r\n    this.surveyQuestionService\r\n      .updateDisplayOrder(this.pagingQuestionResult)\r\n      .subscribe((e) => {\r\n        this.utilityService.stopBlockUI();\r\n      });\r\n  }\r\n  previewSurvey = () => {\r\n    this.router.navigate(\r\n      ['../../info/preview', this.surveyID, this.survey.audienceItemID],\r\n      { relativeTo: this.activatedRoute }\r\n    );\r\n  };\r\n  takeSurvey = () => {\r\n    this.router.navigate(['../../info/submission', this.surveyID], {\r\n      relativeTo: this.activatedRoute,\r\n    });\r\n  };\r\n\r\n  getStatus(status) {\r\n    var Statuses = '';\r\n    switch (status.toLocaleLowerCase()) {\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Draft.toLocaleLowerCase():\r\n        Statuses = 'badge-secondary';\r\n        this.canEditQuestion = true;\r\n        this.canDeleteQuestion = true;\r\n        this.canAddQuestion = true;\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Closed.toLocaleLowerCase():\r\n        Statuses = 'badge-danger';\r\n        this.canEditQuestion = false;\r\n        this.canDeleteQuestion = true;\r\n        this.canAddQuestion = false;\r\n\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Published.toLocaleLowerCase():\r\n        Statuses = 'badge-success';\r\n        this.canEditQuestion = false;\r\n        this.canDeleteQuestion = false;\r\n        this.canAddQuestion = false;\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Upcoming.toLocaleLowerCase():\r\n        Statuses = 'badge-success';\r\n        this.canEditQuestion = true;\r\n        this.canDeleteQuestion = true;\r\n        this.canAddQuestion = true;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n    return Statuses;\r\n  }\r\n\r\n  loadQuestionSection() {\r\n    this.SearchTextBoxOptions = new TextBoxOptions();\r\n    this.SearchTextBoxOptions.name = 'SearchTextBox';\r\n    this.SearchTextBoxOptions.type = InputType.Text;\r\n    this.SearchTextBoxOptions.trimTextOnChange = true;\r\n    this.SearchTextBoxOptions.placeholder = this.l('Search');\r\n    this.SearchTextBoxOptions.extraClasses =\r\n      'form-control form-control-sm form-control-solid search-box';\r\n    this.SearchTextBoxOptions.hideLabel = true;\r\n    this.SearchTextBoxOptions.icon = '../../../assets/images/search.svg';\r\n\r\n    this.SurveyIDOptions = new TextBoxOptions();\r\n    this.SurveyIDOptions.Name = 'SurveyID';\r\n    this.SurveyIDOptions.Value = this.surveyID;\r\n\r\n    this.searchSurveyIDFilter = new FilterItem();\r\n    this.searchSurveyIDFilter.formControlName = this.SurveyIDOptions.Name;\r\n    this.searchSurveyIDFilter.actionParameterName = 'SurveyID';\r\n    this.searchSurveyIDFilter.isFormControl = true;\r\n    this.searchSurveyIDFilter.filterType = FilterType.TextBox;\r\n\r\n    this.pagingQuestionOptions = new PagingOptions();\r\n    this.pagingQuestionOptions.pageSize = 1000;\r\n    this.pagingQuestionOptions.disableBlockUI = true;\r\n    this.pagingQuestionOptions.actionPostURL =\r\n      this.apiQuestionURL + 'GetAllQuestions';\r\n    this.pagingQuestionOptions.filters = [this.searchSurveyIDFilter];\r\n  }\r\n  setQuestionListingResult(result) {\r\n    this.pagingQuestionResult = result;\r\n    this.pagingQuestionResultOriginal = result;\r\n    this.showPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n    let overviewQuestions = this.pagingQuestionResultOriginal.filter(\r\n      (item) =>\r\n        item.questionTypeItemID == SurveyOptionType.RadioButton ||\r\n        item.questionTypeItemID == SurveyOptionType.SingleSelect ||\r\n        item.questionTypeItemID == SurveyOptionType.MultipleSelect\r\n    );\r\n    if (overviewQuestions.length > 0) this.loadSurveyOverview();\r\n  }\r\n\r\n  onSuccessHandler = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordUpdated'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.masterLayoutService.reloadComponent();\r\n  };\r\n\r\n  onSuccessDeleteHandler = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordDeleted'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\r\n  };\r\n\r\n  onSuccessAddQuestionHandler = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordAdded'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.masterLayoutService.reloadComponent();\r\n  };\r\n  onSuccessEditQuestionHandler = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordUpdated'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.masterLayoutService.reloadComponent();\r\n  };\r\n\r\n  onSuccessDeleteQuestionHandler = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordDeleted'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.masterLayoutService.reloadComponent();\r\n  };\r\n\r\n  showDeleteSubmissionModal = (id) => {\r\n    this.deleteSubmissionConfirmationModalControl.showDeleteModal(id);\r\n  };\r\n  showEliminateSubmissionModal = (id) => {\r\n    this.eliminateSubmissionConfirmationModalControl.showEliminateModal(id);\r\n  };\r\n  showUnEliminateSubmissionModal = (id) => {\r\n    this.unEliminateSubmissionConfirmationModalControl.showUnEliminateModal(id);\r\n  };\r\n  onSuccessDeleteHandlerSubmission = (success: any) => {\r\n    this.utilityService.notifySuccessMessage(\r\n      this.l('RecordDeleted'),\r\n      null,\r\n      null,\r\n      false\r\n    );\r\n    this.loadSubmissionSection();\r\n  };\r\n  loadSubmissionSection() {\r\n    this.SearchTextBoxOptions = new TextBoxOptions();\r\n    this.SearchTextBoxOptions.name = 'SearchTextBox';\r\n    this.SearchTextBoxOptions.type = InputType.Text;\r\n    this.SearchTextBoxOptions.trimTextOnChange = true;\r\n    this.SearchTextBoxOptions.placeholder = this.l('Search');\r\n    this.SearchTextBoxOptions.extraClasses =\r\n      'form-control form-control-sm form-control-solid search-box';\r\n    this.SearchTextBoxOptions.hideLabel = true;\r\n    this.SearchTextBoxOptions.icon = '../../../assets/images/search.svg';\r\n\r\n    this.searchSubmissionTextFilter = new FilterItem();\r\n    this.searchSubmissionTextFilter.formControlName =\r\n      this.SearchTextBoxOptions.name;\r\n    this.searchSubmissionTextFilter.actionParameterName = 'SearchText';\r\n    this.searchSubmissionTextFilter.isFormControl = true;\r\n    this.searchSubmissionTextFilter.filterType = FilterType.TextBox;\r\n\r\n    this.SurveyIDOptions = new TextBoxOptions();\r\n    this.SurveyIDOptions.Name = 'SurveyID';\r\n    this.SurveyIDOptions.Value = this.surveyID;\r\n\r\n    this.searchSurveySubmissionIDFilter = new FilterItem();\r\n    this.searchSurveySubmissionIDFilter.formControlName =\r\n      this.SurveyIDOptions.Name;\r\n    this.searchSurveySubmissionIDFilter.actionParameterName = 'SurveyID';\r\n    this.searchSurveySubmissionIDFilter.isFormControl = true;\r\n    this.searchSurveySubmissionIDFilter.filterType = FilterType.TextBox;\r\n\r\n    this.pagingSubmissionOptions = new PagingOptions();\r\n    this.pagingSubmissionOptions.pageSize = 10;\r\n    this.pagingSubmissionOptions.disableBlockUI = true;\r\n    this.pagingSubmissionOptions.actionPostURL =\r\n      this.surveyService.apiURL + 'GetAllSurveySubmission';\r\n    this.pagingSubmissionOptions.onKeyPressFiltersControlNames = [\r\n      this.SearchTextBoxOptions.name,\r\n    ];\r\n    this.pagingSubmissionOptions.filters = [\r\n      this.searchSurveySubmissionIDFilter,\r\n      this.searchSubmissionTextFilter,\r\n    ];\r\n  }\r\n  setSubmissionListingResult(result) {\r\n    this.pagingSubmissionResult = result;\r\n    this.showSubmissionPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n  loadSurveyOverview() {\r\n    this.surveyService.getSurveyOverview(this.surveyID).subscribe((res) => {\r\n      this.questionOverviewResult = res as any;\r\n      this.showOverview = true;\r\n      this.loadChart(this.questionOverviewResult[0]);\r\n    });\r\n  }\r\n\r\n  export = () => {\r\n    this.surveyService.export(this.surveyID).subscribe((result) => {\r\n      this.download(result as any as Blob, this.pageTitle + '.xlsx');\r\n    });\r\n  };\r\n\r\n  searchInQuestionList(value) {\r\n    if (value)\r\n      this.pagingQuestionResult = this.pagingQuestionResultOriginal.filter(\r\n        (item) => item.localizedText.toLowerCase().includes(value.toLowerCase())\r\n      );\r\n    else this.pagingQuestionResult = this.pagingQuestionResultOriginal;\r\n  }\r\n}\r\n","<!--toolbar-->\r\n<div *ngIf=\"loadInfo\">\r\n  <bbsf-page-header-component [options]=\"pageHeaderOptions\"></bbsf-page-header-component>\r\n</div>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n  <div class=\"info-container\" *ngIf=\"loadInfo\">\r\n    <div class=\"section-margin-bottom\">\r\n      <div class=\"d-flex justify-content-between align-items-center\">\r\n        <div class=\"survery-date border-0\">\r\n          <div class=\"icon-boxes align-items-baseline\">\r\n            <div ngbTooltip=\"{{l('Date')}}\" class=\"icon-box\">\r\n              <div class=\"symbol\">\r\n                <span class=\"symbol-label\">\r\n                  <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n                  </span>\r\n                </span>\r\n              </div>\r\n              <span class=\"survey-counter-title\" *ngIf=\"survey.startDate==null\">\r\n                {{l('NotStartedYet')}}\r\n              </span>\r\n              <span class=\"survey-counter-title d-flex flex-stack\" *ngIf=\"survey.startDate!=null\">\r\n                {{survey.startDate |surveyDate}} - {{survey.endDate!=null?(survey.endDate|surveyDate):\"\"}}\r\n                <span class=\"badge badge-light\" *ngIf=\"survey.endDate==null\">{{l('HasNoEnd')}}</span>\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div>\r\n          <span class=\"badge badge-light\" [ngClass]=\"getStatus(survey.statusItemID)\">{{survey.localizedStatus}}</span>\r\n          <span ngbTooltip=\"{{l('Audience')}}\" class=\"badge badge-light mx-2\">{{survey.localizedAudience}}</span>\r\n        </div>\r\n      </div>\r\n      <div class=\"row card-data\">\r\n        <div class=\"col-lg-6\">\r\n          <BBSF-TextBox *ngIf=\"canTakeSurvey&& (survey.audienceItemID==AudienceTypeEnum.Internal||survey.audienceItemID==AudienceTypeEnum.Both)\"\r\n                        [options]=\"TextBoxWithInternalURL\" [group]=\"urlForm\"></BBSF-TextBox>\r\n\r\n        </div>\r\n        <div class=\"col-lg-6\">\r\n          <BBSF-TextBox *ngIf=\"canTakeSurvey&& (survey.audienceItemID==AudienceTypeEnum.External||survey.audienceItemID==AudienceTypeEnum.Both)\"\r\n                        [options]=\"TextBoxWithExternalURL\" [group]=\"urlForm\"></BBSF-TextBox>\r\n        </div>\r\n      </div>\r\n      <p class=\"card-description\" *ngIf=\"survey.localizedDesc\">\r\n        {{survey.localizedDesc}}\r\n      </p>\r\n    </div>\r\n    <div class=\"section-margin-bottom\">\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav nav-stretch nav-line-tabs nav-custom\">\r\n        <li ngbNavItem class=\"nav-item\" [destroyOnHide]=\"true\">\r\n          <a class=\"nav-link\" ngbNavLink>\r\n            <h4>\r\n              {{l('Questions')}}\r\n            </h4>\r\n          </a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"section-info\">\r\n              <div class=\"tabs-search page-subheader justify-content-between\">\r\n                <BBSF-TextBox [options]=\"SearchTextBoxOptions\" [group]=\"filtersQuestionForm\"\r\n                              (OnChange)=\"searchInQuestionList($event)\"></BBSF-TextBox>\r\n                <BBSF-TextBox [options]=\"SurveyIDOptions\" [group]=\"filtersQuestionForm\" hidden></BBSF-TextBox>\r\n                <button type=\"button\" *ngIf=\"canAddQuestion&&enableActions\" class=\"btn btn-brand btn-sm subheader-btn\"\r\n                        (click)=\"showAddQuestionModal()\">\r\n                  {{l('Add')}}\r\n                </button>\r\n              </div>\r\n              <div [hidden]=\"pagingQuestionResult.length == 0\">\r\n                <div ngbNavContent cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n                  <div class=\"question-info\" [cdkDragDisabled]=\"canTakeSurvey\" cdkDrag\r\n                       *ngFor=\"let item of pagingQuestionResult; let i=index\">\r\n                    <div class=\"symbol symbol-25px me-4\" cdkDragHandle *ngIf=\"!canTakeSurvey\">\r\n                      <span class=\"symbol-label\">\r\n                        <span class=\"svg-icon svg-icon-7\" [inlineSVG]=\"'/assets/images/reorder.svg'\">\r\n                        </span>\r\n                      </span>\r\n                    </div>\r\n                    <div class=\"card card-listing\">\r\n                      <div class=\"card-header\">\r\n                        <div class=\"card-title\">\r\n                          <span class=\"badge badge-light\"\r\n                                ngbTooltip=\"{{l('Type')}}\">{{item.localizedQuestionTypeItem}}</span>\r\n                          <span class=\"badge badge-light mx-2\"\r\n                                ngbTooltip=\"{{l('Audience')}}\">{{item.localizedAudienceType}}</span>\r\n                          <span class=\"badge badge-brand-light mx-2\"\r\n                                *ngIf=\"item.isRelatedToSurveyQuestion\">{{l('Linked')}}</span>\r\n                          <span class=\"badge badge-light mx-2\" *ngIf=\"!item.isVisible\" ngbTooltip=\"{{l('NotVisible')}}\">\r\n                            {{l(\"NotVisible\")}}\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"card-toolbar\">\r\n                          <div ngbDropdown container=\"body\" *ngIf=\"enableActions\" class=\"dropdown-custom\"\r\n                               [placement]=\"EN ? 'bottom-right' : 'bottom-left'\">\r\n                            <button type=\"button\" class=\"dropdown-toggle-custom btn btn-clear\" ngbDropdownToggle>\r\n                              <span class=\"svg-icon svg-icon-3\"\r\n                                    [inlineSVG]=\"'/assets/images/card-dropdown.svg'\"></span>\r\n                            </button>\r\n                            <div ngbDropdownMenu class=\"dropdown-menu-custom\">\r\n                              <button *ngIf=\"!(canEditQuestion&&canDeleteQuestion)\"\r\n                                      (click)=\"showEditQuestionModal(item.iD_GUID,true)\" apppreventdoubleclick type=\"button\"\r\n                                      ngbDropdownItem class=\"dropdown-button\">\r\n                                <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/info.svg'\">\r\n                                </span>\r\n                                {{l(\"Details\")}}\r\n                              </button>\r\n\r\n                              <button *ngIf=\"canEditQuestion\" (click)=\"showEditQuestionModal(item.iD_GUID,false)\"\r\n                                      apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n                                <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n                                </span>\r\n                                {{l(\"Edit\")}}\r\n                              </button>\r\n                              <button type=\"button\" *ngIf=\"canDeleteQuestion\"\r\n                                      (click)=\"showDeleteQuestionModal(item.iD_GUID)\" apppreventdoubleclick ngbDropdownItem\r\n                                      class=\"dropdown-button\">\r\n                                <span class=\"svg-icon svg-icon-3\"\r\n                                      [inlineSVG]=\"'/assets/images/Trash.svg'\"></span> {{l(\"Delete\")}}\r\n                              </button>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"card-body\">\r\n                        <div class=\"survey-counter\">\r\n                          <span class=\"survey-counter-title\">{{item.localizedText}}</span>\r\n                          <span class=\"badge badge-light-brand badge-square ms-2 me-0\"\r\n                                ngbTooltip=\"{{l('Score')}}\">{{item.totalScore}}</span>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <BBSF-Paging (Items)=\"setQuestionListingResult($event)\" [options]=\"pagingQuestionOptions\"\r\n                             [group]=\"filtersQuestionForm\" #pagingQuestionViewElement></BBSF-Paging>\r\n              </div>\r\n            </div>\r\n            <app-no-results *ngIf=\"pagingQuestionResult.length == 0\"></app-no-results>\r\n\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item\" [destroyOnHide]=\"true\">\r\n          <a class=\"nav-link\" ngbNavLink>\r\n            <h4>\r\n              {{l('Submissions')}}\r\n            </h4>\r\n          </a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"section-info\" ngbNavContent>\r\n              <div class=\"tabs-search page-subheader justify-content-between\">\r\n                <BBSF-TextBox [options]=\"SearchTextBoxOptions\" [group]=\"filtersSubmissionForm\"></BBSF-TextBox>\r\n                <BBSF-TextBox [options]=\"SurveyIDOptions\" [group]=\"filtersSubmissionForm\" hidden></BBSF-TextBox>\r\n              </div>\r\n              <div class=\"info-container\" [hidden]=\"pagingSubmissionResult.length == 0\">\r\n                <div class=\"table-responsive\">\r\n                  <table class=\"table table-custom\">\r\n                    <thead>\r\n                      <tr class=\"table-header\">\r\n                        <th> {{l('Name')}}</th>\r\n                        <th>{{l('Email')}}</th>\r\n                        <th>{{l('Type')}}</th>\r\n                        <th>{{l('Created')}}</th>\r\n                        <th>{{l('Score')}}</th>\r\n                        <th class=\"table-action\"  *ngIf=\"enableActions\">{{l(\"Action\")}}</th>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody class=\"table-body\">\r\n                      <tr *ngFor=\"let item of pagingSubmissionResult; let i=index\">\r\n                        <td>\r\n                          <span class=\"line-clamp-2\">\r\n                            {{item.localizedName}}\r\n                            <span class=\"badge badge-danger mx-2\" *ngIf=\"item.isEliminated&&item.allowElimination\">\r\n                              {{l('Eliminated')}}\r\n                            </span>\r\n                          </span>\r\n                        </td>\r\n                        <td>\r\n                          {{item.email}}\r\n                        </td>\r\n                        <td>\r\n                          <div class=\"badge badge-light\">\r\n                            {{item.isInternalUser? l('InternalUsers'):l('ExternalUsers')}}\r\n                          </div>\r\n                        </td>\r\n                        <td>{{item.created|surveyDate}}</td>\r\n                        <td>{{item.totalScore}}</td>\r\n                        <td class=\"table-action\"  *ngIf=\"enableActions\">\r\n                          <button type=\"button\" ngbTooltip=\"{{l('Preview')}}\"\r\n                                  [routerLink]=\"['../../info/result', item.iD_GUID]\" class=\"btn btn-sm p-2\">\r\n                            <span class=\"svg-icon svg-icon-3\"\r\n                                  [inlineSVG]=\"'/assets/images/answers.svg'\"></span>\r\n                          </button>\r\n\r\n                          <button type=\"button\" *ngIf=\"!item.isEliminated&&item.allowElimination\"\r\n                                  ngbTooltip=\"{{this.l('EliminateHint')}}\" class=\"btn btn-sm p-2\">\r\n                            <span class=\"svg-icon svg-icon-3\" (click)=\"showEliminateSubmissionModal(item.iD_GUID)\"\r\n                                  apppreventdoubleclick\r\n                                  [inlineSVG]=\"'/assets/images/unlink.svg'\"></span>\r\n                          </button>\r\n\r\n                          <button type=\"button\" *ngIf=\"item.isEliminated&&item.allowElimination\"\r\n                                  ngbTooltip=\"{{this.l('UnEliminate')}}\" class=\"btn btn-sm p-2\">\r\n                            <span class=\"svg-icon svg-icon-3\" (click)=\"showUnEliminateSubmissionModal(item.iD_GUID)\"\r\n                                  apppreventdoubleclick [inlineSVG]=\"'/assets/images/link.svg'\"></span>\r\n                          </button>\r\n\r\n                          <button type=\"button\" ngbTooltip=\"{{l('Delete')}}\" class=\"btn btn-sm p-2\">\r\n                            <span class=\"svg-icon svg-icon-3\" (click)=\"showDeleteSubmissionModal(item.iD_GUID)\"\r\n                                  apppreventdoubleclick [inlineSVG]=\"'/assets/images/Trash.svg'\"></span>\r\n                          </button>\r\n                        </td>\r\n                      </tr>\r\n                    </tbody>\r\n                  </table>\r\n                </div>\r\n              </div>\r\n              <BBSF-Paging (Items)=\"setSubmissionListingResult($event)\" [options]=\"pagingSubmissionOptions\"\r\n                           [group]=\"filtersSubmissionForm\" #pagingSubmissionViewElement></BBSF-Paging>\r\n            </div>\r\n            <app-no-results *ngIf=\"pagingSubmissionResult.length == 0\"></app-no-results>\r\n\r\n          </ng-template>\r\n        </li>\r\n        <li ngbNavItem class=\"nav-item\" *ngIf=\"showOverview\" [destroyOnHide]=\"true\">\r\n          <a class=\"nav-link\" ngbNavLink (click)=\"loadSurveyOverview()\">\r\n            <h4>\r\n              {{l(\"Overview\") }}\r\n            </h4>\r\n          </a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"section-info\" ngbNavContent>\r\n\r\n              <div class=\"row\">\r\n                <div class=\"col-md-3\">\r\n                  <div class=\"chart-container\">\r\n                    <div class=\"chart-title\"> {{l(\"Questions\") }}</div>\r\n                    <ul ngbNav #nav=\"ngbNav\" class=\"nav-pills custom-navs\" orientation=\"vertical\">\r\n                      <li ngbNavItem=\"{{item.localizedTitle}}\" [destroyOnHide]=\"true\"\r\n                          *ngFor=\"let item of questionOverviewResult\" (click)=\"loadChart(item)\">\r\n                        <a ngbNavLink>{{item.localizedTitle}}</a>\r\n\r\n                      </li>\r\n\r\n                    </ul>\r\n                  </div>\r\n                </div>\r\n                <div class=\"col-md-9\">\r\n                  <div class=\"chart-container\">\r\n                    <div class=\"chart-title\">{{l(\"Overview\") }}</div>\r\n                    <div id=\"chartdiv\" style=\"width: 100%; height: 400px\"></div>\r\n                    <div class=\"hide-logo\"></div>\r\n                  </div>\r\n                  <div class=\"chart-container\">\r\n                    <div class=\"chart-title\">{{l(\"Score\") }} </div>\r\n                    <div id=\"chartOverview\" style=\"width: 100%; height: 400px\"></div>\r\n                    <div class=\"hide-logo\"></div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n      </ul>\r\n\r\n\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n  <app-edit-survey #editModal [pagingElement]=\"pagingElement\" [onSuccessHandler]=\"onSuccessHandler\"></app-edit-survey>\r\n  <app-delete-survey #deleteConfirmationModalControl [pagingElement]=\"pagingElement\"\r\n                     [onSuccessHandler]=\"onSuccessDeleteHandler\"></app-delete-survey>\r\n  <app-add-question #addQuestionModal [pagingElement]=\"pagingQuestionElement\" [onSuccessAddHandler]=\"onSuccessAddQuestionHandler\"></app-add-question>\r\n  <app-edit-question #editQuestionModal [pagingElement]=\"pagingQuestionElement\" [onSuccessEditHandler]=\"onSuccessEditQuestionHandler\"></app-edit-question>\r\n  <app-delete-question #deleteQuestionModal [pagingElement]=\"pagingQuestionElement\" [onSuccessHandler]=\"onSuccessDeleteQuestionHandler\"></app-delete-question>\r\n  <app-publish-survey #addPublishModal [pagingElement]=\"pagingElement\" [onSuccessHandler]=\"onSuccessHandler\" *ngIf=\"loadInfo\" [showToggle]=\"survey.isShowToggleOfScoreResultAfterSubmission\">\r\n  </app-publish-survey>\r\n  <app-unpublish-survey #addUnPublishModal [pagingElement]=\"pagingElement\" [onSuccessHandler]=\"onSuccessHandler\">\r\n  </app-unpublish-survey>\r\n  <app-delete-submission #deleteSubmissionModal [pagingElement]=\"pagingSubmissionElement\"\r\n                         [onSuccessHandler]=\"onSuccessDeleteHandlerSubmission\"></app-delete-submission>\r\n  <app-eliminate-submission #eliminateModal [pagingElement]=\"pagingSubmissionElement\"\r\n                            [onSuccessHandler]=\"onSuccessHandler\"></app-eliminate-submission>\r\n  <app-unEliminate-submission #unEliminateModal [pagingElement]=\"pagingSubmissionElement\"\r\n                              [onSuccessHandler]=\"onSuccessHandler\"></app-unEliminate-submission>\r\n","import { EnglishArabicDTO, RecaptchaModel } from \"@bnsights/bbsf-controls\";\r\n\r\nexport class AddSurveySubmissionDTO {\r\n    constructor() {\r\n        this.Name = new EnglishArabicDTO();\r\n    }\r\n    ID: number;\r\n    ID_GUID: string;\r\n    SurveyID: string;\r\n    AudienceType: string;\r\n    QuestionTypeItemID: string;\r\n    AverageScore: number = 0;\r\n    Questions: any[] = [];\r\n    Name: EnglishArabicDTO;\r\n    Email: string;\r\n    Recaptcha: RecaptchaModel;\r\n    HasCaptchaForExternal: boolean;\r\n}\r\n\r\n\r\nexport class SurveyUserInfoDTO {\r\n    constructor() {\r\n        this.Name = new EnglishArabicDTO();\r\n    }\r\n    Name: EnglishArabicDTO;\r\n    Email: string;\r\n    ID_GUID: string;\r\n\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { RecaptchaOptions, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, DropdownOptions, ForceDirection, FormOptions, InputType, RadioButtonOptions, StyleConfirmationMode, TextAreaOptions, TextBoxOptions, PageHeaderOptions, AppBaseComponent, BreadCrumb } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyFormOptions } from '../../../../models/SurveyModels/survey-form-options';\r\nimport { SurveyFormComponent } from '../../../survey-form/survey-form.component';\r\nimport { SurveyService } from '../../../../Services/survey.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AudienceType } from '../../../../Enums/Enums';\r\nimport { AddSurveySubmissionDTO } from '../../../../models/SurveyModels/add-survey-submissio';\r\n\r\n@Component({\r\n    selector: 'app-take-survey',\r\n    templateUrl: './take-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class TakeSurveyComponent extends AppBaseComponent implements OnInit {\r\n  pageHeaderOptions: PageHeaderOptions;\r\n  breadCrumb: BreadCrumb[];\r\n  surveyForm = new FormGroup({});\r\n  surveyID: any;\r\n  surveyFormField: SurveyFormOptions;\r\n  isDateLoaded: boolean = false;\r\n  @ViewChild('SurveyQuestionModal', { static: false }) surveyQuestionModal: SurveyFormComponent;\r\n  @ViewChild('submitConfirmationModalControl', { static: false }) submitConfirmationModalControl: ConfirmationModalComponent;\r\n  submitConfirmationOptions: ConfirmationModalOptions;\r\n\r\n  surveySurveyOptions: any;\r\n  surveyInfo: any;\r\n  EN: boolean;\r\n  declarationCheckBoxForm: CheckBoxOptions;\r\n  totalScore: number;\r\n  isSubmitted: boolean;\r\n  constructor(private injector: Injector, private surveyService: SurveyService, private activatedRoute: ActivatedRoute, private router: Router) {\r\n    super(injector);\r\n    this.surveyID = this.activatedRoute.snapshot.params[\"id\"];\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.breadCrumb = [];\r\n    this.breadCrumb.push(new BreadCrumb(this.l(\"Home\"), false, \"/\"));\r\n    this.pageHeaderOptions = new PageHeaderOptions();\r\n    this.pageHeaderOptions.searchTextBox.active = false;\r\n    this.pageHeaderOptions.breadCrumb.active = true;\r\n    this.pageHeaderOptions.breadCrumb.breadCrumbItems = this.breadCrumb;\r\n    this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n\r\n    this.surveyService.getSurveyForSubmission(this.surveyID, AudienceType.Internal).subscribe((res) => {\r\n\r\n\r\n      this.surveyForm = new FormGroup({});\r\n\r\n      this.surveySurveyOptions = new FormOptions();\r\n      this.surveySurveyOptions.FormGroup = this.surveyForm;\r\n      this.surveySurveyOptions.GetModelFunction = this.getSurveyModel;\r\n      this.surveySurveyOptions.ServiceSubmitFunction = this.getAddSurveyFunction;\r\n      this.surveySurveyOptions.OnSuccessHandler = this.onSuccessSubmitHandler;\r\n      this.surveySurveyOptions.OnErrorHandler = this.onErrorSubmitHandler;\r\n      this.surveySurveyOptions.DisableSuccessNotification = true;\r\n\r\n\r\n      this.surveyInfo = res as any;\r\n\r\n\r\n\r\n      this.surveyFormField = new SurveyFormOptions();\r\n      this.surveyFormField.Name = \"SurveyFields\";\r\n      this.surveyFormField.QuestionList = this.surveyInfo.questions;\r\n      this.surveyFormField.Readonly = false;\r\n\r\n      if (this.surveyInfo.declaration.english || this.surveyInfo.declaration.arabic) {\r\n        this.declarationCheckBoxForm = new CheckBoxOptions();\r\n        this.declarationCheckBoxForm.name = \"declaration\";\r\n        this.declarationCheckBoxForm.labelValue = this.EN ? this.surveyInfo.declaration.english : this.surveyInfo.declaration.arabic;\r\n        this.declarationCheckBoxForm.isRequired = true;\r\n      }\r\n\r\n      this.isDateLoaded = true;\r\n      this.pageTitle = this.surveyInfo.title.current_FailOver;\r\n      this.pageHeaderOptions.titleValue = this.pageTitle;\r\n      this.updatePageTitle(this.pageTitle);\r\n    });\r\n  }\r\n\r\n  getSurveyModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.surveyForm.value;\r\n    let model = new AddSurveySubmissionDTO();\r\n    model.SurveyID = this.surveyID;\r\n    model.AudienceType = AudienceType.Internal;\r\n    model.Questions = this.surveyInfo.questions;\r\n    for (let index = 0; index < this.surveyInfo.questions.length; index++) {\r\n      const question = this.surveyInfo.questions[index];\r\n      if (question.isAllowScoring)\r\n        model.AverageScore = model.AverageScore + question.value.score;\r\n    }\r\n    this.totalScore = model.AverageScore;\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n  getAddSurveyFunction = (model): Observable<any> => {\r\n    return this.surveyService.addSurveySubmission(model);\r\n  };\r\n  onErrorSubmitHandler = () => {\r\n    this.isSubmitted = false;\r\n  };\r\n  onSuccessSubmitHandler = () => {\r\n    this.submitConfirmationOptions = new ConfirmationModalOptions();\r\n    this.submitConfirmationOptions.serviceSubmitFunction = this.closeModal;\r\n    this.submitConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Success;\r\n    this.submitConfirmationOptions.disableSuccessNotification = true;\r\n    this.submitConfirmationOptions.confirmationBody = \" \";\r\n    if (this.totalScore > 0 && this.surveyInfo.isShowScoreAfterSubmission)\r\n      this.submitConfirmationOptions.confirmationBody = this.l('Score') + ' :' + this.totalScore;\r\n    this.submitConfirmationOptions.confirmationHeader = this.l('Survey_Submit_Confirmation');\r\n    this.submitConfirmationOptions.submitButtonText = this.l('OK');\r\n    this.isSubmitted = true;\r\n    setTimeout(() => {\r\n      this.submitConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  };\r\n  closeModal = () => {\r\n    this.router.navigate(['/']);\r\n  };\r\n}\r\n","<bbsf-page-header-component [options]=\"pageHeaderOptions\" ></bbsf-page-header-component>\r\n<!--end toolbar-->\r\n<div class=\"container-xxl\">\r\n  <div class=\"info-container\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyTakenBefore&&surveyInfo.isSurveyAvailable\">\r\n      <p class=\"card-description\">\r\n        {{EN?surveyInfo.description.english:surveyInfo.description.arabic}}\r\n      </p>\r\n    <div class=\"section-margin-bottom\">\r\n      <BBSF-Form [options]=\"surveySurveyOptions\">\r\n        <survey-form #SurveyQuestionModal [options]=\"surveyFormField\" [group]=\"surveyForm\"></survey-form>\r\n        <div class=\"survey-preview\" *ngIf=\"surveyInfo.declaration.english||surveyInfo.declaration.arabic\">\r\n          <div class=\"survey-preview-data\">\r\n            <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n            <div class=\"survey-preview-question\">\r\n              <div class=\"survey-answer\">\r\n                <BBSF-CheckBox [options]=\"declarationCheckBoxForm\" [group]=\"surveyForm\"></BBSF-CheckBox>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"survey-footer\">\r\n          <button type=\"button\" class=\"btn btn-sm btn-light mx-3\" [routerLink]=\"['/']\">\r\n            {{l(\"CancelLabel\")}}\r\n          </button>\r\n          <button type=\"submit\" [disabled]=\"isSubmitted\" class=\"btn btn-sm btn-brand \">{{l(\"Submit\")}}</button>\r\n        </div>\r\n      </BBSF-Form>\r\n\r\n    </div>\r\n\r\n  </div>\r\n  <div class=\"survey-message\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyAvailable\">\r\n    <p class=\"alert alert-danger\"> {{l(\"SurveyAvailableError\")}}</p>\r\n  </div>\r\n  <div class=\"survey-message\" *ngIf=\"isDateLoaded&&surveyInfo.isSurveyTakenBefore\">\r\n    <p class=\"alert alert-danger\">{{l(\"SurveyTakenBeforeError\")}}</p>\r\n  </div>\r\n  <BBSF-ConfirmationModal [options]=\"submitConfirmationOptions\" #submitConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n\r\n</div>\r\n","import { Observable } from 'rxjs';\r\n\r\nimport { Component, ElementRef, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n  AppBaseComponent, ControlLayout, DropdownOptions, FormOptions, MultiLingualTextAreaOptions,\r\n  MultiLingualTextBoxOptions, ToggleSlideOptions\r\n} from '@bnsights/bbsf-controls';\r\n\r\nimport { AudienceType } from '../../../Enums/Enums';\r\nimport { AddSurveyDTO } from '../../../models/SurveyModels/add-survey';\r\nimport { SurveyService } from '../../../Services/survey.service';\r\n\r\n@Component({\r\n    selector: 'app-add-survey',\r\n    templateUrl: './add-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class AddSurveyComponent extends AppBaseComponent implements OnInit {\r\n  addSurveyForm = new FormGroup({});\r\n  addSurveyFormOptions = new FormOptions();\r\n  title: MultiLingualTextBoxOptions;\r\n  description: MultiLingualTextAreaOptions;\r\n  declaration: MultiLingualTextAreaOptions;\r\n  visible: ToggleSlideOptions;\r\n  hasSectorOrDepartment: ToggleSlideOptions;\r\n  sector: DropdownOptions;\r\n  department: DropdownOptions;\r\n  audience: DropdownOptions;\r\n  showHasSectorOrDepartment: boolean;\r\n  showSector: boolean;\r\n  showDepartment: boolean;\r\n  showSectorOrDepartmentError: boolean;\r\n  hasCaptcha: ToggleSlideOptions;\r\n  showHasCaptcha: boolean;\r\n  sectorOrDepartmentError: string;\r\n\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n  }\r\n  @Input() pagingElement;\r\n  @ViewChild('AddModal', { static: false }) modal: ElementRef;\r\n\r\n  ngOnInit(): void {\r\n\r\n  }\r\n  showModal() {\r\n    this.surveyService.add().subscribe((res) => {\r\n      this.showSectorOrDepartmentError = false;\r\n      this.showDepartment = false;\r\n      this.showSector = false;\r\n      this.showHasSectorOrDepartment = false;\r\n      this.addSurveyForm = new FormGroup({});\r\n      let ddl = res as any;\r\n      this.addSurveyFormOptions.formGroup = this.addSurveyForm;\r\n      this.addSurveyFormOptions.pagingReference = this.pagingElement;\r\n      this.addSurveyFormOptions.disableSuccessNotification = true;\r\n      this.addSurveyFormOptions.onSuccessHandler = this.onSuccessAddHandler;\r\n      this.addSurveyFormOptions.getModelFunction = this.getAddModel;\r\n      this.addSurveyFormOptions.serviceSubmitFunction = this.getAddFunction;\r\n      this.addSurveyFormOptions.disableSuccessNotification = true;\r\n\r\n      this.title = new MultiLingualTextBoxOptions();\r\n      this.title.name = \"Title\";\r\n      this.title.arabicLabelKey = \"TitleAR\";\r\n      this.title.englishLabelKey = \"TitleEN\";\r\n      this.title.maxLength = 225;\r\n      this.title.isRequired = true;\r\n      this.title.trimTextOnChange = true;\r\n      this.title.viewType = ControlLayout.Vertical;\r\n      this.title.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n\r\n      this.description = new MultiLingualTextAreaOptions();\r\n      this.description.name = \"Description\";\r\n      this.description.arabicLabelKey = \"DescriptionInArabic\";\r\n      this.description.englishLabelKey = \"DescriptionInEnglish\";\r\n      this.description.maxLength = 4000;\r\n      this.description.minLength = 2;\r\n      this.description.rows = 2;\r\n      this.description.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n\r\n      this.declaration = new MultiLingualTextAreaOptions();\r\n      this.declaration.name = \"Declaration\";\r\n      this.declaration.arabicLabelKey = \"DeclarationInArabic\";\r\n      this.declaration.englishLabelKey = \"DeclarationInEnglish\";\r\n      this.declaration.maxLength = 4000;\r\n      this.declaration.minLength = 2;\r\n      this.declaration.rows = 2;\r\n      this.declaration.languageMode = this.getConfigurationValue(\"LanguageMode\");\r\n      this.declaration.arabicLabelDescription = this.l(\"HintDeclarationArabicPlaceholder\");\r\n      this.declaration.englishLabelDescription = this.l(\"HintDeclarationEnglishPlaceholder\");\r\n\r\n      this.audience = new DropdownOptions();\r\n      this.audience.name = \"AudienceItemID\";\r\n      this.audience.labelKey = \"Audience\";\r\n      this.audience.isRequired = true;\r\n      this.audience.viewType = ControlLayout.Vertical;\r\n      this.audience.singleSelection = true;\r\n      this.audience.showCheckbox = false;\r\n      this.audience.dataSource = ddl.audiences;\r\n\r\n\r\n      this.hasSectorOrDepartment = new ToggleSlideOptions();\r\n      this.hasSectorOrDepartment.name = \"HasSectorOrDepartment\";\r\n      this.hasSectorOrDepartment.labelKey = \"VisibleToCertainSectorORDepartment\";\r\n      this.hasSectorOrDepartment.labelDescription = this.l(\"HintVisibleToCertainSectorORDepartment\");\r\n\r\n\r\n      this.visible = new ToggleSlideOptions();\r\n      this.visible.name = \"Visible\";\r\n      this.visible.labelKey = \"Visible\";\r\n      this.visible.value = true;\r\n      this.visible.labelDescription = this.l(\"GenericVisibleHint\");\r\n\r\n      this.hasCaptcha = new ToggleSlideOptions();\r\n      this.hasCaptcha.name = \"HasCaptcha\";\r\n      this.hasCaptcha.labelKey = \"HasCaptcha\";\r\n      this.hasCaptcha.labelDescription = this.l(\"HasCaptchaHint\");\r\n\r\n      this.sector = new DropdownOptions();\r\n      this.sector.name = \"Sector\";\r\n      this.sector.labelKey = \"VisibleToCertainSector\";\r\n      this.sector.singleSelection = false;\r\n      this.sector.showCheckbox = false;\r\n      this.sector.isRequired = false;\r\n      this.sector.dataSource = ddl.sectors;\r\n\r\n      this.department = new DropdownOptions();\r\n      this.department.name = \"Department\";\r\n      this.department.labelKey = \"VisibleToCertainDepartment\";\r\n      this.department.singleSelection = false;\r\n      this.department.showCheckbox = false;\r\n      this.department.isRequired = false;\r\n      this.department.dataSource = ddl.departments;\r\n      this.openModal(this.modal, 'xl');\r\n\r\n    });\r\n  }\r\n\r\n  loadDepartmentList = () => {\r\n    this.surveyService.loadDepartmentsDropdown(this.sector.selectedItems).subscribe(r => {\r\n      let result = r as any;\r\n      this.department.dataSource = result;\r\n    });\r\n  };\r\n\r\n  loadSectorList = () => {\r\n    this.surveyService.loadSectorsDropdown(this.department.selectedItems).subscribe(r => {\r\n      let result = r as any;\r\n      this.sector.dataSource = result;\r\n    });\r\n  };\r\n\r\n  changeAudience(key) {\r\n    switch (key) {\r\n      case AudienceType.Internal:\r\n        this.showHasSectorOrDepartment = true;\r\n        this.showHasCaptcha = false;\r\n        break;\r\n      case AudienceType.Both:\r\n        this.showHasSectorOrDepartment = true;\r\n        this.showHasCaptcha = true;\r\n        break;\r\n      case AudienceType.External:\r\n        this.showHasSectorOrDepartment = false;\r\n        this.showHasCaptcha = true;\r\n        this.department.selectedItems = [];\r\n        this.sector.selectedItems = [];\r\n        this.showDepartment = false;\r\n        this.showSector = false;\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  }\r\n\r\n  changeHasSectorOrDepartment(value) {\r\n    if (value) {\r\n      this.showDepartment = true;\r\n      this.showSector = true;\r\n    }\r\n    else {\r\n      this.showDepartment = false;\r\n      this.showSector = false;\r\n      this.showSectorOrDepartmentError = false;\r\n    }\r\n  }\r\n\r\n  getAddModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = <any>this.addSurveyForm.value;\r\n    let addModel: AddSurveyDTO = new AddSurveyDTO();\r\n    addModel.Title.arabic = resultModel.Title.Arabic;\r\n    addModel.Title.english = resultModel.Title.English;\r\n    addModel.Description.arabic = resultModel.Description.Arabic;\r\n    addModel.Description.english = resultModel.Description.English;\r\n    addModel.Declaration.arabic = resultModel.Declaration.Arabic;\r\n    addModel.Declaration.english = resultModel.Declaration.English;\r\n    addModel.Visible = resultModel.Visible;\r\n    addModel.AudienceItemID = resultModel.AudienceItemID;\r\n    addModel.HasSectorOrDepartment = this.showHasSectorOrDepartment ? resultModel.HasSectorOrDepartment : false;\r\n    if (this.showHasCaptcha)\r\n      addModel.HasCaptchaForExternal = resultModel.HasCaptcha;\r\n    if (addModel.HasSectorOrDepartment) {\r\n      if (resultModel.Department || resultModel.Sector) {\r\n        this.showSectorOrDepartmentError = false;\r\n        addModel.SelectedDepartmentIDs = resultModel.Department ? resultModel.Department : [];\r\n        addModel.SelectedSectorIDs = resultModel.Sector ? resultModel.Sector : [];\r\n      }\r\n      else {\r\n        this.showSectorOrDepartmentError = true;\r\n        this.sectorOrDepartmentError = this.l(\"SectorOrDepartmentError\");\r\n        return;\r\n      }\r\n\r\n    }\r\n\r\n    paramArray.push(addModel);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddFunction = (addModal): Observable<any> => {\r\n    if (!this.showSectorOrDepartmentError)\r\n      return this.surveyService.addSurvey(addModal);\r\n  };\r\n}\r\n","<ng-template #AddModal let-modal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">\r\n      {{l(\"Add_Survey\")}} \r\n    </h4>\r\n    <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-icon btn-sm\" (click)=\"modal.dismiss()\">\r\n      <div class=\"svg-icon svg-icon-1 svg-icon-hover-brand\" [inlineSVG]=\"'/assets/images/modalclose.svg'\"></div>\r\n    </button>\r\n  </div>\r\n  <BBSF-Form [options]=\"addSurveyFormOptions\">\r\n    <div class=\"modal-body\">\r\n      <BBSF-MultiLingualTextBox [options]=\"title\" [group]=\"addSurveyForm\"></BBSF-MultiLingualTextBox>\r\n      <BBSF-MultiLingualTextArea [options]=\"description\" [group]=\"addSurveyForm\"></BBSF-MultiLingualTextArea>\r\n      <BBSF-DropdownList [options]=\"audience\" (OnChange)=\"changeAudience($event)\" [group]=\"addSurveyForm\"></BBSF-DropdownList>\r\n      <BBSF-MultiLingualTextArea [options]=\"declaration\" [group]=\"addSurveyForm\"></BBSF-MultiLingualTextArea>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide  [options]=\"visible\" [group]=\"addSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-Toggleslide  [options]=\"hasSectorOrDepartment\" *ngIf=\"showHasSectorOrDepartment\" (OnChange)=\"changeHasSectorOrDepartment($event)\"  [group]=\"addSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n        <div class=\"col-md-6\"  *ngIf=\"showHasCaptcha\">\r\n          <BBSF-Toggleslide  [options]=\"hasCaptcha\" [group]=\"addSurveyForm\"></BBSF-Toggleslide>\r\n        </div>\r\n      </div>\r\n      <div class=\"required-text alert-danger\" *ngIf=\"showSectorOrDepartmentError\">\r\n        <span class=\"svg-icon svg-icon-2tx svg-icon-danger me-4\"\r\n          [inlineSVG]=\"'/assets/images/info.svg'\">\r\n\r\n        </span>\r\n        <div class=\"fw-bold\">\r\n          <div class=\"fs-6 text-danger\">{{sectorOrDepartmentError}}</div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"sector\" (OnChange)=\"loadDepartmentList()\" *ngIf=\"showSector\" [group]=\"addSurveyForm\"></BBSF-DropdownList>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <BBSF-DropdownList [options]=\"department\"(OnChange)=\"loadSectorList()\"  *ngIf=\"showDepartment\" [group]=\"addSurveyForm\"></BBSF-DropdownList>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"modal-footer\">\r\n      <button type=\"button\" class=\"btn btn-sm btn-light\" (click)=\"modal.dismiss()\">\r\n        {{l(\"CancelLabel\")}}\r\n      </button>\r\n      <button appPreventDoubleClick type=\"submit\" class=\"btn btn-sm btn-brand\">{{l(\"SaveLabel\")}}</button>\r\n    </div>\r\n  </BBSF-Form>\r\n</ng-template>\r\n","import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AppBaseComponent, ConfirmationModalComponent, ConfirmationModalOptions, StyleConfirmationMode } from '@bnsights/bbsf-controls';\r\nimport { Observable } from 'rxjs';\r\nimport { SurveyService } from '../../../Services/survey.service';\r\n\r\n\r\n@Component({\r\n    selector: 'app-duplicate-survey',\r\n    templateUrl: './duplicate-survey.component.html',\r\n    standalone: false\r\n})\r\nexport class DuplicateSurveyComponent extends AppBaseComponent implements OnInit {\r\n\r\n  @Input() onSuccessHandler;\r\n  @Input() pagingElement;\r\n  duplicateConfirmationOptions: ConfirmationModalOptions;\r\n  @ViewChild('duplicateConfirmationModalControl', { static: false }) duplicateConfirmationModalControl: ConfirmationModalComponent;\r\n  constructor(private injector: Injector, private surveyService: SurveyService) {\r\n    super(injector);\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  showDuplicateModal(id) {\r\n    this.startBlockUI();\r\n    let paramArray: any[] = [];\r\n    paramArray.push(id);\r\n    this.duplicateConfirmationOptions = new ConfirmationModalOptions();\r\n    this.duplicateConfirmationOptions.serviceSubmitFunction = this.duplicate;\r\n    this.duplicateConfirmationOptions.serviceSubmitModel = paramArray;\r\n    this.duplicateConfirmationOptions.pagingReference = this.pagingElement;\r\n    this.duplicateConfirmationOptions.onSuccessHandler = this.onSuccessHandler ? this.onSuccessHandler : this.onSuccessAddHandler;\r\n    this.duplicateConfirmationOptions.disableSuccessNotification = true;\r\n    this.duplicateConfirmationOptions.styleConfirmationMode = StyleConfirmationMode.Warning;\r\n    this.duplicateConfirmationOptions.submitButtonText = this.l('Duplicate');\r\n    this.duplicateConfirmationOptions.confirmationBody = this.l('ContinueConfirmationMessage');\r\n    this.duplicateConfirmationOptions.confirmationHeader = this.l('DuplicateMessage');\r\n    setTimeout(() => {\r\n      this.duplicateConfirmationModalControl.showModal();\r\n      this.stopBlockUI();\r\n    }, 200);\r\n  }\r\n  duplicate = (id: string): Observable<any> => {\r\n    return this.surveyService.duplicateSurvey(id);\r\n  };\r\n\r\n}\r\n","<BBSF-ConfirmationModal [options]=\"duplicateConfirmationOptions\" #duplicateConfirmationModalControl></BBSF-ConfirmationModal>\r\n","import { DeleteSurveyComponent } from './delete-survey/delete-survey.component';\r\nimport { EditSurveyComponent } from './edit-survey/edit-survey.component';\r\nimport { AddSurveyComponent } from './add-survey/add-survey.component';\r\nimport { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n  ControlLayout,\r\n  DataType,\r\n  DatePickerOptions,\r\n  DropdownOptions,\r\n  FilterItem,\r\n  FilterType,\r\n  InputType,\r\n  PagingComponent,\r\n  StartView,\r\n  TextBoxOptions,\r\n  PickerType,\r\n  SelectMode,\r\n  PagingOptions,\r\n  PageHeaderOptions,\r\n  AppBaseComponent,\r\n} from '@bnsights/bbsf-controls';\r\n\r\nimport { DuplicateSurveyComponent } from './duplicate-survey/duplicate-survey.component';\r\nimport { SurveyMode, SurveyStatusEnum } from '../../Enums/Enums';\r\nimport { SurveyService } from '../../Services/survey.service';\r\nimport { SurveyConfig } from '../../models/SurveyModels/survey-utils';\r\n\r\n@Component({\r\n    selector: 'app-survey',\r\n    templateUrl: './survey.component.html',\r\n    standalone: false\r\n})\r\nexport class SurveyComponent extends AppBaseComponent implements OnInit {\r\n  pageHeaderOptions: PageHeaderOptions;\r\n  pageTitle = '';\r\n  subTitle = '';\r\n  surveyForm = new FormGroup({});\r\n  breadCrumb: any[];\r\n  EN: boolean;\r\n  enableActions: boolean = false;\r\n  public SurveyStatusEnum = SurveyStatusEnum;\r\n  @ViewChild('pagingViewElement', { static: false })\r\n  pagingElement: PagingComponent<any>;\r\n  @ViewChild('addModal', { static: false }) addModal: AddSurveyComponent;\r\n  @ViewChild('editModal', { static: false }) editModal: EditSurveyComponent;\r\n  @ViewChild('deleteConfirmationModalControl', { static: false })\r\n  deleteConfirmationModalControl: DeleteSurveyComponent;\r\n  @ViewChild('duplicateModal', { static: false })\r\n  duplicateModal: DuplicateSurveyComponent;\r\n\r\n  //Listing\r\n\r\n  searchTextBoxOptions: TextBoxOptions;\r\n  searchTextFilter: FilterItem;\r\n  statusDropdownOptions: DropdownOptions;\r\n  visibleDropdownOptions: DropdownOptions;\r\n  visiblePanelDropdownFilter: FilterItem;\r\n  statusDropdownFilter: FilterItem;\r\n  DatePickerWithRangeMode: DatePickerOptions;\r\n  DatePickerWithRangeFilter: FilterItem;\r\n  sortDropdownOptions: DropdownOptions;\r\n  sortTypeDropdownOptions: DropdownOptions;\r\n  sortDropdownFilter: FilterItem;\r\n  sortTypeDropdownFilter: FilterItem;\r\n  pagingResult: any[] = [];\r\n  pagingOptions: PagingOptions;\r\n  filtersForm = new FormGroup({});\r\n  apiURL: string = this.surveyService.apiURL;\r\n  loadingPage: boolean = false;\r\n  showPageContent: boolean = false;\r\n  isFiltersDataLoaded: boolean;\r\n  showFilters: boolean;\r\n  loading: boolean = true;\r\n  flipping: boolean = false;\r\n\r\n  constructor(\r\n    private injector: Injector,\r\n    private surveyService: SurveyService\r\n  ) {\r\n    super(injector);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (SurveyConfig.surveyMode == SurveyMode.Survey_Full_Access)\r\n      this.enableActions = true;\r\n    this.pageTitle = this.l('Surveys_Header');\r\n    this.updatePageTitle(this.pageTitle);\r\n    this.breadCrumb = [];\r\n    this.searchTextBoxOptions = new TextBoxOptions();\r\n    this.searchTextBoxOptions.name = 'SearchTextBox';\r\n    this.searchTextBoxOptions.type = InputType.Text;\r\n    this.searchTextBoxOptions.placeholder = this.l('Search');\r\n    this.searchTextBoxOptions.extraClasses = 'form-control form-control-sm form-control-solid search-box';\r\n    this.searchTextBoxOptions.hideLabel = true;\r\n    this.searchTextBoxOptions.icon = '../../../assets/images/search.svg';\r\n\r\n    this.searchTextFilter = new FilterItem();\r\n    this.searchTextFilter.formControlName = this.searchTextBoxOptions.name;\r\n    this.searchTextFilter.actionParameterName = 'SearchText';\r\n    this.searchTextFilter.isFormControl = true;\r\n    this.searchTextFilter.filterType = FilterType.TextBox;\r\n\r\n    this.visibleDropdownOptions = new DropdownOptions();\r\n    this.visibleDropdownOptions.name = 'visibleSurvey';\r\n    this.visibleDropdownOptions.labelKey = 'Visibility';\r\n    this.visibleDropdownOptions.singleSelection = true;\r\n\r\n    this.visiblePanelDropdownFilter = new FilterItem();\r\n    this.visiblePanelDropdownFilter.formControlName =\r\n      this.visibleDropdownOptions.name;\r\n    this.visiblePanelDropdownFilter.actionParameterName = 'ActiveStatus';\r\n    this.visiblePanelDropdownFilter.isFormControl = true;\r\n    this.visiblePanelDropdownFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.statusDropdownOptions = new DropdownOptions();\r\n    this.statusDropdownOptions.name = 'Status';\r\n    this.statusDropdownOptions.labelKey = 'Status';\r\n    this.statusDropdownOptions.singleSelection = true;\r\n    this.statusDropdownOptions.notFoundText = this.l('NoResultFound');\r\n\r\n    this.statusDropdownFilter = new FilterItem();\r\n    this.statusDropdownFilter.formControlName = this.statusDropdownOptions.name;\r\n    this.statusDropdownFilter.actionParameterName = 'SurveyStatus';\r\n    this.statusDropdownFilter.isFormControl = true;\r\n    this.statusDropdownFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.DatePickerWithRangeMode = new DatePickerOptions();\r\n    this.DatePickerWithRangeMode.name = 'DatePickerWithRangeMode';\r\n    this.DatePickerWithRangeMode.labelKey = 'Date';\r\n    this.DatePickerWithRangeMode.viewType = ControlLayout.Vertical;\r\n    this.DatePickerWithRangeMode.startView = StartView.Month;\r\n    this.DatePickerWithRangeMode.pickerType = PickerType.Calendar;\r\n    this.DatePickerWithRangeMode.selectMode = SelectMode.Range;\r\n\r\n    this.DatePickerWithRangeFilter = new FilterItem();\r\n    this.DatePickerWithRangeFilter.formControlName =\r\n      this.DatePickerWithRangeMode.name;\r\n    this.DatePickerWithRangeFilter.actionParameterName = 'Date';\r\n    this.DatePickerWithRangeFilter.isFormControl = true;\r\n    this.DatePickerWithRangeFilter.filterType = FilterType.DatePicker;\r\n\r\n    this.sortDropdownOptions = new DropdownOptions();\r\n    this.sortDropdownOptions.name = 'Sort';\r\n    this.sortDropdownOptions.labelKey = 'Sort';\r\n    this.sortDropdownOptions.singleSelection = true;\r\n    this.sortDropdownOptions.notFoundText = this.l('NoResultFound');\r\n\r\n    this.sortDropdownFilter = new FilterItem();\r\n    this.sortDropdownFilter.formControlName = this.sortDropdownOptions.name;\r\n    this.sortDropdownFilter.actionParameterName = 'SortBy';\r\n    this.sortDropdownFilter.isFormControl = true;\r\n    this.sortDropdownFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.sortTypeDropdownOptions = new DropdownOptions();\r\n    this.sortTypeDropdownOptions.name = 'SortType';\r\n    this.sortTypeDropdownOptions.labelKey = 'SortType';\r\n    this.sortTypeDropdownOptions.singleSelection = true;\r\n    this.sortTypeDropdownOptions.notFoundText = this.l('NoResultFound');\r\n\r\n    this.sortTypeDropdownFilter = new FilterItem();\r\n    this.sortTypeDropdownFilter.formControlName =\r\n      this.sortTypeDropdownOptions.name;\r\n    this.sortTypeDropdownFilter.actionParameterName = 'SortType';\r\n    this.sortTypeDropdownFilter.isFormControl = true;\r\n    this.sortTypeDropdownFilter.filterType = FilterType.DropdownList;\r\n\r\n    this.pageHeaderOptions = new PageHeaderOptions();\r\n    this.pageHeaderOptions.titleKey = this.pageTitle;\r\n    this.pageHeaderOptions.subTitleKey = this.l('Survey_SubHeader');\r\n    this.pageHeaderOptions.searchTextBox.active = true;\r\n    this.pageHeaderOptions.searchTextBox.textSearchBoxOptions =\r\n      this.searchTextBoxOptions;\r\n    this.pageHeaderOptions.breadCrumb.active = true;\r\n    this.pageHeaderOptions.breadCrumb.breadCrumbItems = this.breadCrumb;\r\n    this.pageHeaderOptions.editButton.active = false;\r\n    this.pageHeaderOptions.exportButton.active = false;\r\n    if (this.enableActions) {\r\n      this.pageHeaderOptions.addButton.active = true;\r\n      this.pageHeaderOptions.addButton.buttonTextKey = this.l('Add');\r\n      this.pageHeaderOptions.addButton.function = this.showAddModal;\r\n    }\r\n    this.pageHeaderOptions.filtersButton.active = true;\r\n    this.pageHeaderOptions.filtersButton.buttonTextKey = this.l('Filters');\r\n    this.pageHeaderOptions.filtersButton.function = this.loadFilters;\r\n    this.pageHeaderOptions.filters.applyFunction = this.search;\r\n    this.pageHeaderOptions.filters.restFunction = this.resetFilters;\r\n    this.pageHeaderOptions.filters.controlsOptions.push({\r\n      key: DataType.SingleSelect,\r\n      value: this.visibleDropdownOptions,\r\n    });\r\n    this.pageHeaderOptions.filters.controlsOptions.push({\r\n      key: DataType.SingleSelect,\r\n      value: this.statusDropdownOptions,\r\n    });\r\n    this.pageHeaderOptions.filters.controlsOptions.push({\r\n      key: DataType.Date,\r\n      value: this.DatePickerWithRangeMode,\r\n    });\r\n    this.pageHeaderOptions.filters.controlsOptions.push({\r\n      key: DataType.SingleSelect,\r\n      value: this.sortDropdownOptions,\r\n    });\r\n    this.pageHeaderOptions.filters.controlsOptions.push({\r\n      key: DataType.SingleSelect,\r\n      value: this.sortTypeDropdownOptions,\r\n    });\r\n    this.pageHeaderOptions.listing = true;\r\n    this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n\r\n    this.pagingOptions = new PagingOptions();\r\n    this.pagingOptions.pageSize = 8;\r\n    this.pagingOptions.disableBlockUI = true;\r\n    this.pagingOptions.actionPostURL = this.apiURL + 'GetAll';\r\n    this.pageHeaderOptions.listing = true;\r\n    this.pagingOptions.onKeyPressFiltersControlNames = [\r\n      this.searchTextBoxOptions.name,\r\n    ];\r\n    this.pagingOptions.filters = [\r\n      this.searchTextFilter,\r\n      this.visiblePanelDropdownFilter,\r\n      this.statusDropdownFilter,\r\n      this.DatePickerWithRangeFilter,\r\n      this.sortDropdownFilter,\r\n      this.sortTypeDropdownFilter,\r\n    ];\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.loadingPage = true;\r\n  }\r\n\r\n  setListingResult(result) {\r\n    debugger;\r\n    this.pagingResult = result;\r\n    this.showPageContent = true;\r\n    this.utilityService.stopBlockUI();\r\n  }\r\n\r\n  loadFilters = () => {\r\n    if (!this.isFiltersDataLoaded && !this.showFilters) this.loadFiltersData();\r\n    else {\r\n      this.showFilters = !this.showFilters;\r\n      this.loading = true;\r\n      this.isFiltersDataLoaded = false;\r\n      this.pageHeaderOptions.filtersButton.showLoadingInFiltersBox =\r\n        this.loading;\r\n    }\r\n    this.flipping = !this.flipping;\r\n  };\r\n\r\n  loadFiltersData = () => {\r\n    this.surveyService.loadFiltersDropdown().subscribe((r) => {\r\n      let result = r as any;\r\n      this.statusDropdownOptions.dataSource = result.statuses;\r\n      this.sortDropdownOptions.dataSource = result.surveySortingTypes;\r\n      this.sortTypeDropdownOptions.dataSource = result.sortTypes;\r\n      this.visibleDropdownOptions.dataSource = result.visibility;\r\n      this.showFilters = true;\r\n      this.isFiltersDataLoaded = true;\r\n      this.loading = false;\r\n      this.pageHeaderOptions.filtersButton.showLoadingInFiltersBox =\r\n        this.loading;\r\n    });\r\n  };\r\n\r\n  resetFilters = () => {\r\n    this.filtersForm.controls[this.DatePickerWithRangeMode.name].setValue(null);\r\n    this.filtersForm.controls[this.visibleDropdownOptions.name].setValue(null);\r\n    this.filtersForm.controls[this.statusDropdownOptions.name].setValue(null);\r\n    this.filtersForm.controls[this.sortDropdownOptions.name].setValue(null);\r\n    this.filtersForm.controls[this.sortTypeDropdownOptions.name].setValue(null);\r\n    this.filtersForm.controls[this.searchTextBoxOptions.name].setValue(null);\r\n    this.loading = true;\r\n    this.pageHeaderOptions.filtersButton.showLoadingInFiltersBox = this.loading;\r\n    this.pagingElement.reinitializePaging();\r\n  };\r\n\r\n  search = () => {\r\n    if (!this.filtersForm.valid) return;\r\n    this.loading = true;\r\n    this.pageHeaderOptions.filtersButton.showLoadingInFiltersBox = this.loading;\r\n    this.pagingElement.reinitializePaging();\r\n  };\r\n\r\n  showAddModal = () => {\r\n    this.addModal.showModal();\r\n  };\r\n  showEditModal(id) {\r\n    this.editModal.showEditModal(id);\r\n  }\r\n  showDuplicateModal(id) {\r\n    this.duplicateModal.showDuplicateModal(id);\r\n  }\r\n  showDeleteModal(id) {\r\n    this.deleteConfirmationModalControl.showDeleteModal(id);\r\n  }\r\n\r\n  isEditable(status) {\r\n    let allowEdit = false;\r\n    switch (status.toLocaleLowerCase()) {\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Draft.toLocaleLowerCase():\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Upcoming.toLocaleLowerCase():\r\n        allowEdit = true;\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Closed.toLocaleLowerCase():\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Published.toLocaleLowerCase():\r\n        allowEdit = false;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n    return allowEdit;\r\n  }\r\n  getStatus(status) {\r\n    var Statuses = '';\r\n    switch (status.toLocaleLowerCase()) {\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Draft.toLocaleLowerCase():\r\n        Statuses = 'badge-secondary';\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Closed.toLocaleLowerCase():\r\n        Statuses = 'badge-danger';\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Published.toLocaleLowerCase():\r\n        Statuses = 'badge-success';\r\n        break;\r\n      case this.SurveyStatusEnum.ScoringTypeEnum_Upcoming.toLocaleLowerCase():\r\n        Statuses = 'badge-success';\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n    return Statuses;\r\n  }\r\n}\r\n","<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" [group]=\"filtersForm\"></bbsf-page-header-component>\r\n<!--End toolbar-->\r\n<div class=\"container-xxl\">\r\n  <div class=\"row\">\r\n    <div class=\"col-md-6 col-xl-6 d-flex\" *ngFor=\"let item of pagingResult\">\r\n      <div class=\"card card-listing w-icon-boxes survey-card\">\r\n        <div class=\"card-header\">\r\n          <div class=\"card-title line-clamp\">\r\n            <a [routerLink]=\"['../info', item.iD_GUID]\">\r\n              {{item.localizedTitle}}\r\n            </a>\r\n          </div>\r\n          <div class=\"card-toolbar d-flex flex-nowrap flex-stack\">\r\n            <span class=\"badge badge-light bagde-xs me-2\" *ngIf=\"!item.visible\"> {{l(\"NotVisible\")}} </span>\r\n            <span class=\"badge bagde-xs badge-light me-2\" [ngClass]=\"getStatus(item.statusItemID)\">{{item.localizedStatus}}</span>\r\n            <div ngbDropdown container=\"body\" *ngIf=\"enableActions\" class=\"dropdown-custom\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\">\r\n              <button type=\"button\" class=\"dropdown-toggle-custom btn btn-clear btn-sm\"\r\n                      ngbDropdownToggle>\r\n                <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/card-dropdown.svg'\"></span>\r\n              </button>\r\n              <div ngbDropdownMenu class=\"dropdown-menu-custom\">\r\n                <button *ngIf=\"isEditable(item.statusItemID)\" (click)=\"showEditModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n                  <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n                  </span>\r\n                  {{l(\"Edit\")}}\r\n                </button>\r\n                <button (click)=\"showDuplicateModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n                  <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/copy.svg'\">\r\n                  </span>\r\n                  {{l(\"Duplicate\")}}\r\n                </button>\r\n                <button type=\"button\" (click)=\"showDeleteModal(item.iD_GUID)\" apppreventdoubleclick ngbDropdownItem class=\"dropdown-button\">\r\n                  <span class=\"svg-icon svg-icon-3\"\r\n                        [inlineSVG]=\"'/assets/images/Trash.svg'\"></span>  {{l(\"Delete\")}}\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"card-body mb-4\">\r\n          <p class=\"line-clamp-1\">\r\n            {{item.localizedDesc}}\r\n          </p>\r\n        </div>\r\n        <!--footer type one-->\r\n        <div class=\"card-footer pt-0\">\r\n          <div>\r\n            <div class=\"survey-counter\">\r\n              <span class=\"survey-counter-title\">{{l('Question')}}</span>\r\n              <span class=\"badge badge-light-brand badge-square \">{{item.totalQuestionCount}}</span>\r\n            </div>\r\n            <div class=\"survey-counter\">\r\n              <span class=\"survey-counter-title\">{{l('Submissions')}}</span>\r\n              <span class=\"badge badge-light-brand badge-square \">{{item.totalSubmissionsCount}}</span>\r\n            </div>\r\n          </div>\r\n          <div class=\"survery-date\">\r\n            <div class=\"icon-boxes align-items-baseline\">\r\n              <div class=\"icon-box w-100\">\r\n                <div class=\"symbol\">\r\n                  <span class=\"symbol-label\">\r\n                    <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n                    </span>\r\n                  </span>\r\n                </div>\r\n                <span class=\"survey-counter-title\" *ngIf=\"item.startDate==null\">\r\n                  {{l('NotStartedYet')}}\r\n                </span>\r\n                <div  *ngIf=\"item.startDate!=null\" class=\"d-flex flex-stack w-100\">\r\n                  <span class=\"survey-counter-title\">\r\n                    {{item.startDate |surveyDate}}\r\n                    <span *ngIf=\"item.endDate!=null\"> - {{(item.endDate|surveyDate)}}</span>\r\n                  </span>\r\n                  <span class=\"badge badge-light\" *ngIf=\"item.endDate==null\">{{l('HasNoEnd')}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <BBSF-Paging (Items)=\"setListingResult($event)\" *ngIf=\"loadingPage\" [options]=\"pagingOptions\" [group]=\"filtersForm\"\r\n               #pagingViewElement></BBSF-Paging>\r\n</div>\r\n\r\n\r\n\r\n<app-no-results *ngIf=\"pagingResult.length == 0 && showPageContent\"></app-no-results>\r\n<app-add-survey #addModal [pagingElement]=\"pagingElement\"></app-add-survey>\r\n<app-edit-survey #editModal [pagingElement]=\"pagingElement\"></app-edit-survey>\r\n<app-delete-survey #deleteConfirmationModalControl [pagingElement]=\"pagingElement\"></app-delete-survey>\r\n<app-duplicate-survey #duplicateModal [pagingElement]=\"pagingElement\"></app-duplicate-survey>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-survey-layout',\r\n    templateUrl: './survey-layout.component.html',\r\n    styleUrls: ['./survey-layout.component.css'],\r\n    standalone: false\r\n})\r\nexport class SurveyLayoutComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<router-outlet></router-outlet>","import { RouterModule, Routes } from \"@angular/router\";\r\nimport { PreviewComponent } from \"../components/survey/survey-info/preview/preview.component\";\r\nimport { ResultQuestionComponent } from \"../components/survey/survey-info/result-question/result.component\";\r\nimport { SurveyInfoComponent } from \"../components/survey/survey-info/survey-info.component\";\r\nimport { TakeSurveyComponent } from \"../components/survey/survey-info/take-survey/take-survey.component\";\r\nimport { SurveyComponent } from \"../components/survey/survey.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { SurveyLayoutComponent } from \"../components/survey-layout/survey-layout.component\";\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: '',\r\n    component: SurveyLayoutComponent,\r\n    children: [\r\n      { path: \"info/result/:id\", component: ResultQuestionComponent },\r\n      { path: \"info/preview/:id/:audienceID\", component: PreviewComponent },\r\n      { path: \"submission/:id\", component: TakeSurveyComponent },\r\n      { path: \"info/:id\", component: SurveyInfoComponent },\r\n      { path: \"survey\", component: SurveyComponent },\r\n      {\r\n        path: '', redirectTo: 'survey', pathMatch: 'full'\r\n      },\r\n    ]\r\n  },\r\n \r\n];\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class SurveyRoutingModule { }\r\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, Inject, Injector, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { RecaptchaOptions, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, ForceDirection, FormOptions, InputType, MultiLingualTextBoxOptions, StyleConfirmationMode, TextBoxOptions, AppBaseComponent } from '@bnsights/bbsf-controls';\r\nimport { AuthService, BBSFTranslateService, ConfigurationService, MasterLayoutService, UtilityService } from '@bnsights/bbsf-utilities';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SurveyFormOptions } from '../../models/SurveyModels/survey-form-options';\r\nimport { SurveyFormComponent } from '../survey-form/survey-form.component';\r\nimport { SurveyService } from '../../Services/survey.service';\r\nimport { AudienceType } from '../../Enums/Enums';\r\nimport { AddSurveySubmissionDTO, SurveyUserInfoDTO } from '../../models/SurveyModels/add-survey-submissio';\r\nimport { AnonymousLayoutService } from '../../Services/AnonymousLayoutService.service';\r\n\r\n@Component({\r\n    selector: 'app-external-url',\r\n    templateUrl: './external-url.component.html',\r\n    styleUrls: ['./external-url.component.css'],\r\n    standalone: false\r\n})\r\nexport class ExternalUrlComponent extends AppBaseComponent implements OnInit {\r\n  language: string;\r\n  EN: any;\r\n  name: MultiLingualTextBoxOptions;\r\n  email: any;\r\n  drawer: boolean;\r\n  Showbanner: boolean;\r\n  surveyForm = new FormGroup({});\r\n  surveyID: any;\r\n  surveyFormField: SurveyFormOptions;\r\n  private window: Window;\r\n  isDateLoaded: boolean = false;\r\n  @Input() pagingElement;\r\n  @ViewChild('SurveyQuestionModal', { static: false }) surveyQuestionModal: SurveyFormComponent;\r\n  @ViewChild('submitConfirmationModalControl', { static: false }) submitConfirmationModalControl: ConfirmationModalComponent;\r\n\r\n  submitConfirmationOptions: ConfirmationModalOptions;\r\n  image: string | ArrayBuffer;\r\n  RecaptchaFormField: RecaptchaOptions;\r\n  surveySurveyOptions: FormOptions;\r\n  surveyInfo: any;\r\n  declarationCheckBoxForm: CheckBoxOptions;\r\n  totalScore: number;\r\n  showInternalErrorMessage: boolean;\r\n  isSubmitted: boolean;\r\n  show: boolean = true;\r\n  surveyUserInfoOptions: FormOptions;\r\n  surveyUserInfoForm: FormGroup;\r\n  constructor(private injector: Injector, private translateService: BBSFTranslateService, private surveyService: SurveyService, private activatedRoute: ActivatedRoute, private router: Router, private masterLayoutService: MasterLayoutService, private anonymousLayoutService: AnonymousLayoutService, private authService: AuthService) {\r\n    super(injector);\r\n    this.surveyID = this.activatedRoute.snapshot.params[\"id\"];\r\n  }\r\n\r\n\r\n  ngOnInit(): void {\r\n    //\r\n    this.translateService.onLangChange.subscribe((event) => {\r\n      this.masterLayoutService.reloadComponent();\r\n    });\r\n    this.EN = this.utilityService.isCurrentLanguageEnglish();\r\n    this.language = localStorage.getItem('language');\r\n\r\n    this.surveyService.getSurveyForSubmission(this.surveyID, AudienceType.External).subscribe((res) => {\r\n\r\n      this.surveyForm = new FormGroup({});\r\n      this.surveyUserInfoForm = new FormGroup({});\r\n\r\n      this.surveySurveyOptions = new FormOptions();\r\n      this.surveySurveyOptions.formGroup = this.surveyForm;\r\n      this.surveySurveyOptions.getModelFunction = this.getSurveyModel;\r\n      this.surveySurveyOptions.serviceSubmitFunction = this.getAddSurveyFunction;\r\n      this.surveySurveyOptions.onSuccessHandler = this.onSuccessSubmitHandler;\r\n      this.surveySurveyOptions.disableSuccessNotification = true;\r\n\r\n\r\n      this.surveyUserInfoOptions = new FormOptions();\r\n      this.surveyUserInfoOptions.formGroup = this.surveyUserInfoForm;\r\n      this.surveyUserInfoOptions.getModelFunction = this.getSurveyUserInfoModel;\r\n      this.surveyUserInfoOptions.serviceSubmitFunction = this.getSurveyUserInfoFunction;\r\n      this.surveyUserInfoOptions.onSuccessHandler = this.onSuccessUserInfoSubmitHandler;\r\n      this.surveyUserInfoOptions.disableSuccessNotification = true;\r\n\r\n\r\n      this.name = new MultiLingualTextBoxOptions();\r\n      this.name.name = \"Name\";\r\n      this.name.arabicLabelKey = \"NameInArabic\";\r\n      this.name.englishLabelKey = \"NameInEnglish\";\r\n      this.name.isRequired = true;\r\n      this.name.maxLength = 100;\r\n      this.name.viewType = ControlLayout.Vertical;\r\n\r\n      this.email = new TextBoxOptions();\r\n      this.email.name = \"Email\";\r\n      this.email.labelKey = \"Email\";\r\n      this.email.type = InputType.Email;\r\n      this.email.isRequired = true;\r\n      this.email.viewType = ControlLayout.Vertical;\r\n      this.email.forceDirection = ForceDirection.English;\r\n      this.email.maxLength = 100;\r\n\r\n\r\n\r\n      this.surveyInfo = res as any;\r\n      this.surveyFormField = new SurveyFormOptions();\r\n      this.surveyFormField.Name = \"SurveyFields\";\r\n      this.surveyFormField.QuestionList = this.surveyInfo.questions;\r\n      this.surveyFormField.Readonly = false;\r\n\r\n      if (this.surveyInfo.hasCaptchaForExternal) {\r\n        this.RecaptchaFormField = new RecaptchaOptions();\r\n        this.RecaptchaFormField.name = \"Recaptcha\";\r\n        this.RecaptchaFormField.isRequired = true;\r\n        this.RecaptchaFormField.labelKey = \"RecaptchaLabel\";\r\n        this.RecaptchaFormField.fontSize = 75;\r\n      }\r\n      if (this.surveyInfo.declaration.english || this.surveyInfo.declaration.arabic) {\r\n        this.declarationCheckBoxForm = new CheckBoxOptions();\r\n        this.declarationCheckBoxForm.name = \"declaration\";\r\n        this.declarationCheckBoxForm.labelValue = this.EN ? this.surveyInfo.declaration.english : this.surveyInfo.declaration.arabic;\r\n        this.declarationCheckBoxForm.isRequired = true;\r\n      }\r\n\r\n      this.pageTitle = this.surveyInfo.title.current_FailOver;\r\n      this.updatePageTitle(this.surveyInfo.title.current_FailOver);\r\n      this.isDateLoaded = true;\r\n\r\n      if (AuthService.user != null)\r\n        this.showInternalErrorMessage = true;\r\n    });\r\n\r\n  }\r\n\r\n  getSurveyModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = <any>this.surveyForm.value;\r\n    let resultUserModel = this.surveyUserInfoForm.value;\r\n    let model = new AddSurveySubmissionDTO();\r\n    model.SurveyID = this.surveyID;\r\n    model.AudienceType = AudienceType.External;\r\n    model.Questions = this.surveyInfo.questions;\r\n    model.Name.arabic = resultUserModel.Name.Arabic;\r\n    model.Name.english = resultUserModel.Name.English;\r\n    model.Email = resultUserModel.Email;\r\n    model.Recaptcha = resultModel.Recaptcha;\r\n    model.HasCaptchaForExternal = this.surveyInfo.hasCaptchaForExternal;\r\n    for (let index = 0; index < this.surveyInfo.questions.length; index++) {\r\n      const question = this.surveyInfo.questions[index];\r\n      if (question.isAllowScoring)\r\n        model.AverageScore = model.AverageScore + question.value.score;\r\n    }\r\n    this.totalScore = model.AverageScore;\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n\r\n  getAddSurveyFunction = (model): Observable<any> => {\r\n    return this.surveyService.addSurveySubmission(model);\r\n  };\r\n\r\n  onSuccessSubmitHandler = () => {\r\n    this.isSubmitted = true;\r\n  };\r\n\r\n\r\n  getSurveyUserInfoModel = () => {\r\n    let paramArray: any[] = [];\r\n    let resultModel = this.surveyUserInfoForm.value;\r\n    let model = new SurveyUserInfoDTO();\r\n    model.Name.arabic = resultModel.Name.Arabic;\r\n    model.Name.english = resultModel.Name.English;\r\n    model.Email = resultModel.Email;\r\n    model.ID_GUID = this.surveyID;\r\n    paramArray.push(model);\r\n    return paramArray;\r\n  };\r\n  getSurveyUserInfoFunction = (model): Observable<any> => {\r\n    return this.surveyService.checkUserInfoValidation(model);\r\n  };\r\n\r\n  onSuccessUserInfoSubmitHandler = () => {\r\n    this.show = !this.show;\r\n  };\r\n\r\n  switchLang(lang: string) {\r\n    this.language = lang;\r\n    this.anonymousLayoutService.switchAnonymousLayoutLanguage(this.language, \"\", \"\");\r\n  }\r\n\r\n  toggleUserbanner() {\r\n    this.Showbanner = !this.Showbanner;\r\n  }\r\n  closeAside() {\r\n    this.drawer = false;\r\n  }\r\n  next() {\r\n    this.show = !this.show;\r\n  }\r\n}\r\n","\r\n<div class=\"external-user\">\r\n  <div class=\"container\">\r\n    <div class=\"external-body\">\r\n      <div class=\"logo-container\">\r\n        <a href=\"/\">\r\n          <img alt=\"Logo\" src=\"../../../../assets/images/moe-logo-ar.svg\" *ngIf=\"language == 'ar'\" class=\"logo-image\" />\r\n          <img alt=\"Logo\" src=\"../../../../assets/images/moe-logo-en.svg\" *ngIf=\"language == 'en'\" class=\"logo-image\" />\r\n        </a>\r\n        <div class=\"btn btn-sm btn-light\" ngbTooltip=\"Arabic\" *ngIf=\"language == 'en'\" (click)=\"switchLang('ar')\">\r\n          <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/lang.svg'\">\r\n          </span>\r\n          العربية\r\n        </div>\r\n        <div class=\"btn btn-sm btn-light\" ngbTooltip=\"English\" *ngIf=\"language == 'ar'\" (click)=\"switchLang('en')\">\r\n          <span class=\"svg-icon svg-icon-5\" [inlineSVG]=\"'/assets/images/lang.svg'\">\r\n          </span>\r\n          English\r\n        </div>\r\n      </div>\r\n      <div class=\"wrapper-info\" *ngIf=\"isDateLoaded&&surveyInfo.isSurveyAvailable&&!surveyInfo.isSurveyTakenBefore&&!showInternalErrorMessage&&!isSubmitted\">\r\n        <div class=\"info-container  mb-8\">\r\n          <h4 class=\"card-title\">{{EN?surveyInfo.title.english:surveyInfo.title.arabic}}  </h4>\r\n          <p class=\"card-description\">\r\n            {{EN?surveyInfo.description.english:surveyInfo.description.arabic}}\r\n          </p>\r\n        </div>\r\n       <div *ngIf=\"show\">\r\n        <BBSF-Form [options]=\"surveyUserInfoOptions\">\r\n          <div class=\"external-form\">\r\n            <BBSF-MultiLingualTextBox [options]=\"name\" [group]=\"surveyUserInfoForm\">\r\n            </BBSF-MultiLingualTextBox>\r\n            <BBSF-TextBox [options]=\"email\" [group]=\"surveyUserInfoForm\"></BBSF-TextBox>\r\n          </div>\r\n          <div class=\"externalurl-footer\">\r\n            <button  class=\"btn btn-sm btn-brand\" type=\"submit\" > {{l(\"Next\")}}</button>\r\n          </div>\r\n        </BBSF-Form>\r\n       </div>\r\n      <div *ngIf=\"!show\">\r\n        <BBSF-Form [options]=\"surveySurveyOptions\">\r\n        <survey-form #SurveyQuestionModal [options]=\"surveyFormField\" [group]=\"surveyForm\"></survey-form>\r\n        <div class=\"col-6\" *ngIf=\"surveyInfo.hasCaptchaForExternal\">\r\n        <BBSF-Recaptcha [options]=\"RecaptchaFormField\" [group]=\"surveyForm\"></BBSF-Recaptcha>\r\n        </div>\r\n        <div class=\"survey-preview\" *ngIf=\"surveyInfo.declaration.english||surveyInfo.declaration.arabic\">\r\n          <div class=\"survey-preview-data\">\r\n            <span class=\"question-number\" ngbTooltip=\"Question Number\"></span>\r\n            <div class=\"survey-preview-question\">\r\n              <div class=\"survey-answer\">\r\n                <BBSF-CheckBox  [options]=\"declarationCheckBoxForm\"  [group]=\"surveyForm\"></BBSF-CheckBox>\r\n            </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      <div class=\"externalurl-footer\">\r\n        <button   type=\"submit\" class=\"btn btn-sm btn-brand\"> {{l(\"Submit\")}}</button>\r\n      </div>\r\n        </BBSF-Form>\r\n\r\n      </div>\r\n      </div>\r\n      <div class=\"survey-message\" *ngIf=\"isDateLoaded&&showInternalErrorMessage\">\r\n        <p class=\"alert alert-warning\">  {{l(\"InternalUserErrorMessage\")}}<a [routerLink]=\"['/imo/survey/submission',surveyInfo.iD_GUID]\">{{surveyInfo.title.current_FailOver}}</a> ?\r\n        </p>\r\n      </div>\r\n      <div class=\"survey-message\" *ngIf=\"isDateLoaded&&!surveyInfo.isSurveyAvailable\">\r\n       <p class=\"alert alert-danger\"> {{l(\"SurveyAvailableError\")}}</p>\r\n      </div>\r\n      <div class=\"survey-message\" *ngIf=\"isDateLoaded&&surveyInfo.isSurveyTakenBefore\">\r\n        <p class=\"alert alert-danger\"> {{l(\"SurveyTakenBeforeError\")}}</p>\r\n      </div>\r\n      <div class=\"survey-message\" *ngIf=\"isSubmitted\">\r\n        <p class=\"alert alert-success\">  {{l(\"Survey_Submit_Confirmation\")}} <span *ngIf=\"surveyInfo.isShowScoreAfterSubmission\">{{l(\"Score\") + \": \"+totalScore}}</span>\r\n        </p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n<!-- <BBSF-ConfirmationModal [options]=\"submitConfirmationOptions\" #submitConfirmationModalControl></BBSF-ConfirmationModal> -->\r\n","import { NgModule } from '@angular/core';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ExternalUrlComponent } from '../components/external-url/external-url.component';\r\nimport { SurveyFormComponent } from '../components/survey-form/survey-form.component';\r\nimport { SurveyFormItemComponent } from '../components/survey-form-item/survey-form-item.component';\r\nimport { AdDirective } from '../components/AdDirective';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { AnonymousLayoutService } from '../Services/AnonymousLayoutService.service';\r\nimport { AuthService, ConfigurationService, MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { SurveyService } from '../Services/survey.service';\r\nimport { SurveyQuestionService } from '../Services/survey-question.service';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ExternalUrlComponent,\r\n    SurveyFormComponent,\r\n    SurveyFormItemComponent,\r\n    AdDirective\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    NgbModule,\r\n    InlineSVGModule,\r\n    BBSFControlsModule,\r\n  ],\r\n\r\n  exports: [\r\n    SurveyFormComponent,\r\n  ],\r\n  providers: [\r\n    AnonymousLayoutService,\r\n    MasterLayoutService,\r\n    AuthService,\r\n    ConfigurationService,\r\n    SurveyService,\r\n    SurveyQuestionService\r\n  ]\r\n})\r\nexport class PublicSurveyModule {\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SurveyRoutingModule } from './survey-routing.module';\r\nimport { AuthService, BBSFUtilitiesModule, ConfigurationService, EnvironmentService, MasterLayoutService } from '@bnsights/bbsf-utilities';\r\nimport { BBSFControlsModule } from '@bnsights/bbsf-controls';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { SurveyComponent } from '../components/survey/survey.component';\r\nimport { AddSurveyComponent } from '../components/survey/add-survey/add-survey.component';\r\nimport { EditSurveyComponent } from '../components/survey/edit-survey/edit-survey.component';\r\nimport { DeleteSurveyComponent } from '../components/survey/delete-survey/delete-survey.component';\r\nimport { SurveyInfoComponent } from '../components/survey/survey-info/survey-info.component';\r\nimport { EditQuestionComponent } from '../components/survey/survey-info/edit-question/edit-question.component';\r\nimport { DeleteQuestionComponent } from '../components/survey/survey-info/delete-question/delete-question.component';\r\nimport { AddQuestionComponent } from '../components/survey/survey-info/add-question/add-question.component';\r\nimport { ResultQuestionComponent } from '../components/survey/survey-info/result-question/result.component';\r\nimport { PreviewComponent } from '../components/survey/survey-info/preview/preview.component';\r\nimport { PublishSurveyComponent } from '../components/survey/survey-info/publish-survey/publish-survey.component';\r\nimport { UnPublishSurveyComponent } from '../components/survey/survey-info/unpublish-survey/unpublish-survey.component';\r\nimport { TakeSurveyComponent } from '../components/survey/survey-info/take-survey/take-survey.component';\r\nimport { DeleteSubmissionComponent } from '../components/survey/submissions/delete-submission/delete-submission.component';\r\nimport { EliminateSubmissionComponent } from '../components/survey/submissions/eliminate-submission/eliminate-submission.component';\r\nimport { UnEliminateSubmissionComponent } from '../components/survey/submissions/uneliminate-submission/uneliminate-submission.component';\r\nimport { DuplicateSurveyComponent } from '../components/survey/duplicate-survey/duplicate-survey.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PublicSurveyModule } from './public-survey.module';\r\nimport { NgWizardConfig, NgWizardModule, THEME } from '@kronscht/ng-wizard';\r\nimport { SurveyDatePipe } from '../Pipes/survey-date.pipe';\r\nimport { NoResultsComponent } from '../components/no-results/no-results.component';\r\nimport { AnonymousLayoutService } from '../Services/AnonymousLayoutService.service';\r\nimport { SurveyLayoutComponent } from '../components/survey-layout/survey-layout.component';\r\nimport { SharedModule } from '../shared.module';\r\nimport { SurveyMode } from '../Enums/Enums';\r\n\r\n\r\nconst ngWizardConfig: NgWizardConfig = {\r\n  theme: THEME.default\r\n};\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SurveyComponent,\r\n    AddSurveyComponent,\r\n    EditSurveyComponent,\r\n    DeleteSurveyComponent,\r\n    SurveyInfoComponent,\r\n    EditQuestionComponent,\r\n    DeleteQuestionComponent,\r\n    AddQuestionComponent,\r\n    ResultQuestionComponent,\r\n    PreviewComponent,\r\n    PublishSurveyComponent,\r\n    UnPublishSurveyComponent,\r\n    TakeSurveyComponent,\r\n    DeleteSubmissionComponent,\r\n    EliminateSubmissionComponent,\r\n    UnEliminateSubmissionComponent,\r\n    DuplicateSurveyComponent,\r\n    SurveyDatePipe,\r\n    NoResultsComponent,\r\n    SurveyLayoutComponent\r\n  ],\r\n  imports: [\r\n    PublicSurveyModule,\r\n    CommonModule,\r\n    SurveyRoutingModule,\r\n    BBSFControlsModule,\r\n    NgbModule,\r\n    BBSFUtilitiesModule,\r\n    NgWizardModule.forRoot(ngWizardConfig),\r\n    DragDropModule,\r\n    SharedModule\r\n  ],\r\n  providers: [\r\n    AnonymousLayoutService,\r\n    MasterLayoutService,\r\n    AuthService,\r\n    EnvironmentService,\r\n    ConfigurationService,\r\n  ],\r\n  schemas: [\r\n    CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA\r\n  ],\r\n})\r\nexport class SurveyModule {\r\n  constructor() {\r\n  }\r\n  static surveyMode: SurveyMode = SurveyMode.Survey_Full_Access;\r\n  static setSurveyMode(mode: SurveyMode) {\r\n    SurveyModule.surveyMode = mode;\r\n    return SurveyModule;\r\n  }\r\n}\r\n","export class InjectedModule {\r\n    constructor(routeName: string, module: any) {\r\n        this.module = module;\r\n        this.routeName = routeName;\r\n    }\r\n    routeName: string;\r\n    module: any;\r\n}\r\n\r\n","\r\nimport { ErrorHandler, Injectable, Injector, NgZone } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable({\r\n    providedIn: \"root\",\r\n  })\r\n  \r\n  export class GlobalErrorHandler implements ErrorHandler {\r\n    constructor(private injector: Injector, private zone: NgZone) {\r\n\r\n    }\r\n\r\n    handleError(error: any) {\r\n         //console.log(error);\r\n        const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n\r\n        if (chunkFailedMessage.test(error.message)) {\r\n          window.location.reload();\r\n        }\r\n        const router = this.injector.get(Router)\r\n        if (error instanceof HttpErrorResponse) {\r\n\r\n        \r\n                if (error.status == 401) {\r\n                  this.zone.run(() => router.navigate([\"/Admin/account/login\"]))\r\n                }\r\n\r\n             \r\n\r\n            }\r\n        \r\n        else {\r\n             //console.log(error)\r\n            //notificationService.error('Client Error. Please try after sometime.', false, null, 5000);\r\n        }\r\n\r\n    }\r\n\r\n}\r\n","export class UserRegistration {\r\n\r\n    constructor(\r\n        public name: string,\r\n        public email: string,\r\n        public password: string            \r\n      ) {  }\r\n}\r\n","//Export Modules\r\nexport * from './lib/masterlayout.module';\r\nexport * from './lib/Pages/home/home.module';\r\nexport * from './lib/Pages/users/users.module';\r\nexport * from './lib/Pages/anonymouslayout/anonymouslayout.module';\r\nexport * from './lib/Pages/core/auth.module';\r\nexport * from './lib/Pages/shared/shared.module';\r\nexport * from './lib/Pages/authentication/authentication.module';\r\nexport * from './lib/Pages/localizations/localizations.module';\r\nexport * from './lib/Pages/shared/modules/survey.module';\r\nexport * from './lib/Pages/shared/modules/public-survey.module';\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//Export models\r\n//  export * from './lib/Pages/shared/config/environment';\r\nexport * from './lib/Pages/shared/models/InjectedModuleModel/InjectedModule';\r\n\r\nexport * from './lib/Pages/shared/models/DepartmentModels/DepartmentModel';\r\n\r\n//Export Components\r\nexport * from './lib/masterlayout.component';\r\nexport * from './lib/Pages/home/home.component';\r\nexport * from './lib/Pages/users/users.component';\r\nexport * from './lib/Pages/anonymouslayout/anonymouslayout.component';\r\nexport * from './lib/Pages/anonymouslayout/login/login.component';\r\nexport * from './lib/Pages/authentication/auth-callback/auth-callback.component';\r\nexport * from './lib/Pages/localizations/localizations.component';\r\nexport * from './lib/Pages/_layout/components/subheader/subheader.component';\r\nexport * from './lib/Pages/shared/components/survey-form/survey-form.component';\r\nexport * from './lib/Pages/shared/components/external-url/external-url.component';\r\n\r\n\r\n\r\n\r\n\r\n\r\n//Export Services\r\n//  export * from './lib/Pages/shared/Services/environmentService.Service';\r\nexport * from './lib/Pages/shared/Services/data.service';\r\nexport * from './lib/Pages/shared/Services/GlobalErrorHandler.service';\r\nexport * from './lib/Pages/core/authentication/auth.guard';\r\nexport * from './lib/Pages/shared/stylesbundle.service';\r\nexport * from './lib/Pages/shared/Services/localizations.service';\r\nexport * from './lib/Pages/shared/Services/injectionModuleService.service';\r\nexport * from './lib/Pages/shared/Services/DocumentTemplateService.service';\r\nexport * from './lib/Pages/shared/Services/AnonymousLayoutService.service';\r\n\r\nexport * from './lib/_metronic/core/services/layout.service';\r\nexport * from './lib/_metronic/core/services/layout-init.service';\r\nexport * from './lib/_metronic/core/services/page-info.service';\r\nexport * from './lib/_metronic/configs/default-layout.config';\r\n\r\n\r\n// Utils\r\n\r\nexport * from './lib/Pages/shared/Enums/Enums';\r\n\r\nexport * from './lib/Pages/shared/models/user.registration';\r\nexport * from './lib/Pages/_layout/components/subheader/subheader.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LayoutService","i1.PageInfoService","i2.LayoutService","i3","i4","i2","i3.PageTitleComponent","i1","i5","i6.AsideMenuComponent","i3.UserService","i5.TopbarComponent","i2.PageInfoService","i3.LayoutService","i4.LayoutInitService","i6.ToolbarComponent","i7.AsideComponent","i8.HeaderComponent","i9.FooterComponent","i10.ScriptsInitComponent","i8.FilterPipe","routes","i5.localizationsService","i6","i7","i8","i12.EmptyDataComponent","i1.localizationsService","i7.EmptyDataComponent","i4.PermissionsService","i9","i10","i11.EmptyDataComponent","i3.PermissionSetService","i4.PermissionSetService","i3.EmailHeaderAndFooterTemplateService","i11","i12","i13.EmptyDataComponent","i2.EmailHeaderAndFooterTemplateService","i4.PageInfoService","i4.TemplateService","i3.TemplateService","i5.PageInfoService","i2.TemplateService","i4.LookupService","i3.LookupGroupsService","i10.EmptyDataComponent","i2.DepartmentService","i3.DepartmentService","i3.SectorService","i2.ConfigurationsService","i3.ConfigurationsService","i9.EditAuthConfigurationComponent","i3.ImpersonationRuleService","i3.JobsService","i8.EmptyDataComponent","i3.LicenseService","i2.WorkflowService","i1.WorkflowActivityService","i2.WorkflowInstanceService","i5.WorkflowLogVariablesService","i4.WorkflowVariablesService","i5.WorkflowActivityService","i6.PageInfoService","i2.WorkflowVersionService","i3.PublicHolidayService","i3.HelpCenterService","i4.HelpCenterService","i3.LogsService","i1.ProviderService","i2.AccountService","i4.LicenseService","i3.ActiveDirectoryService","i2.DocumentHeaderAndFooterTemplateService","i3.DocumentHeaderAndFooterTemplateService","i3.DocumentTemplateService","i4.DocumentTemplateService","i4.OrganizationService","i3.OrganizationService","i9.EmptyDataComponent","i10.EditOrganizationComponent","i11.AddOrganizationComponent","i1.AccountService","i3.AnonymousLayoutService","StylesBundleService","ClipboardModule","i5.AdDirective","i4.AdDirective","i1.SurveyService","i3.SurveyFormComponent","i8.SurveyDatePipe","i1.SurveyQuestionService","i3.SurveyService","i4.SurveyQuestionService","i10.EditSurveyComponent","i11.DeleteSurveyComponent","i12.EditQuestionComponent","i13.DeleteQuestionComponent","i14.AddQuestionComponent","i15.PublishSurveyComponent","i16.UnPublishSurveyComponent","i17.DeleteSubmissionComponent","i18.EliminateSubmissionComponent","i19.UnEliminateSubmissionComponent","i20.NoResultsComponent","i21.SurveyDatePipe","i7.AddSurveyComponent","i8.EditSurveyComponent","i9.DeleteSurveyComponent","i10.DuplicateSurveyComponent","i11.NoResultsComponent","i12.SurveyDatePipe","i2.SurveyService","i4.AnonymousLayoutService","i9.SurveyFormComponent"],"mappings":"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"}